2013-02-26 3 views

ответ

5

Вы можете сделать это по-разному - sed, vim, perl, awk.

Или вы можете просто использовать xargs так:

xargs rm < filelist 

Если вы действительно настаиваете на редактирование filelist используйте sed:

sed 's/^/rm /g' filelist > newscript 

(что означает найти начало строки ^ и заменить его rm для каждой линии /g).

Вы можете даже редактировать filelist на месте с помощью sed -i:

sed -i 's/^/rm /g' filelist 
+0

СЭД 's/^/гт/г' Filelist> newscript это то, что я хотел, спасибо alot – freemen

0

Другой способ может использовать простой скрипт.

#!/bin/sh 

FILE=$1 

while read line 
do 
    echo "Removing $line" 
    rm $line 
done < $FILE 

Вы можете затем запустить его как sh multirm.sh filelist

Если вы хотите просто добавить rm в файл, который вы могли бы использовать AWK для этого.

awk '{ print "rm", $1" }' filelist

1

Я думаю, что ответ MVP является лучшим, но если вы говорите о изменениях текущего списка файлов для сценария оболочки с rm вставленного перед каждым именем файла, вы можете сделать это просто с любым хорошим текстовый редактор, который поддерживает поиск и замену регулярными выражениями.

термин

Поиск: ^(.)

Замена: rm \1

Vi один лайнер:

:%s/^/rm/
+0

Я пытаюсь автоматизировать процесс, мое намерение - написать задание cron, это часть скрипта, который я хочу написать – freemen

Смежные вопросы