Удалить все файлы указанные в списке и написать о том что они удалены в отдельный файл
Есть задача: Удалить все файлы из заданного списка, если файл существовал, написать Имя_файла удалено ( в отдельный файл), если же файл не удалился или его не существовало написать об этом, тоже в отдельный файл. Попробовал написать вот это :
#!/bin/bash
del=0
noexist=0
echo " enter file name "
read filename
cat $filename | while read I
do
if [ -f ${I} ]; then
rm -f ${I}
echo " $I ( deleted ) " >>deleted.txt
((del++))
else
echo " $I ( no exist or cant be deleted ) " >>noexist.txt
((noexist++))
fi
done
echo " $del ( deleted ) " >>deleted.txt
echo " $noexist ( no exist or cant be deleted ) " >>noexist.txt
Но ничего дельного не получилось, не мог ли бы вы подсказать, в чем я ошибся?
Ответы (1 шт):
Автор решения: Sergey
→ Ссылка
Нечто вроде:
#!/bin/bash
del=0
noexist=0
# Цикл удаления файлов
while [[ 0 ]]
do
echo " enter file name "
read filename
if [ "$filename" = q ]
then
echo "Завершаем работу: $filename"
break
fi
if [ ! -f $filename ]
then
echo "Файл $filename не существует"
let noexist=noexist+1
else
echo "Удаляем файл $filename"
rm -f $filename
let del=del+1
fi
done
echo " $del ( deleted ) " >>deleted.txt
echo " $noexist ( no exist or cant be deleted ) " >>noexist.txt