Форум — Development BASH ?!? 0 0 ПРОГА в BASH: есть файл,содержащий имена некоторых файлов в виде списка. Как сделать так , чтобы при удалении некоторого файла из списка удалялось его имя? Ссылка
function remove_from_file(){ FName=$1 Item=$2 rm -f tmp for file in `cat $Fname`; do [ $file != $Item ] && echo $file >>tmp done mv tmp $FName } Коряво конечно... Наверняка можно проще Flogger_d ★ (11.02.04 18:53:24 MSK) Показать ответы Ссылка
Ответ на: комментарий от Flogger_d 11.02.04 18:53:24 MSK БОЛЬШОЕ СПАСИБО! ader ★ (12.02.04 09:10:47 MSK) автор топика Ссылка
Ответ на: комментарий от Flogger_d 11.02.04 18:53:24 MSK Можно. :) fucntion remove_from_file() { FNAME=$1 ITEM=$2 TMPFILE=`mktemp -t temp.XXXXXX` && ( cat $FNAMT | grep -v $ITEM > $TMPFILE cp $TMPFILE $FNAME ) rm $TMPFILE } Xela ★ (12.02.04 10:54:40 MSK) Показать ответ Ссылка
Ответ на: комментарий от Xela 12.02.04 10:54:40 MSK > cat $FNAMT | grep -v $ITEM > $TMPFILE помойму лучшее grep -v "^$ITEM$" а то наудаляете.. dilmah ★★★★★ (12.02.04 13:43:48 MSK) Показать ответ Ссылка
Ответ на: комментарий от dilmah 12.02.04 13:43:48 MSK > помойму лучшее grep -v "^$ITEM$" а то наудаляете.. А если удаляется файл abc, а есть ещё abcd? :) Rock ★ (13.02.04 07:32:42 MSK) Показать ответ Ссылка
Ответ на: комментарий от Rock 13.02.04 07:32:42 MSK Да нет - тут все честно - см $ в конце регекса - т.е. конец строки. abcd тут не подойдет Flogger_d ★ (13.02.04 12:08:40 MSK) Ссылка