URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3963
[ Назад ]

Исходное сообщение
"Просто Bash..."

Отправлено souspuss , 15-Фев-05 14:19 
Здравствуйте!
Посоветуйте плз. Как средствами Bash произвести операцию, например rm, над каждой строкой йз файла-списка, который содержит в своих строках имена файлов?
Спасибо.

Содержание

Сообщения в этом обсуждении
"Просто Bash..."
Отправлено allez , 15-Фев-05 14:47 
Пусть файл-список называется file.lst, тогда

while read FILENAME;
do
  rm $FILENAME
done < file.lst


"Просто Bash..."
Отправлено ACCA , 18-Фев-05 01:29 
>Посоветуйте плз. Как средствами Bash произвести операцию, например rm, над каждой строкой
>йз файла-списка, который содержит в своих строках имена файлов?

Я бы это сделал средствами xargs:

xargs rm < file.lst


"Просто Bash..."
Отправлено allez , 18-Фев-05 07:06 
>Я бы это сделал средствами xargs:
>
>xargs rm < file.lst

Можно и так. Вариант с циклом - универсальный, с xargs - лаконичный и для поставленной задачи, пожалуй, подходит больше.


"Просто Bash..."
Отправлено Doka , 18-Фев-05 14:24 
>>Я бы это сделал средствами xargs:
>>
>>xargs rm < file.lst
>
rm `cat file.lst`


"Просто Bash..."
Отправлено ACCA , 18-Фев-05 23:42 
>>>Я бы это сделал средствами xargs:
>>>xargs rm < file.lst
>rm `cat file.lst`

Может обломаться по слишком длинной строке.