Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
rm *text* .*text*
rm `grep text * .* | sed -e "s/^\([^:]\+\):.\+\$/\\1/"`
grep text * .* | sed -e "s/^\([^:]\+\):.\+\$/\\1/" | while read FILE; do rm "$FILE"; done
Задача такая:Удалить из текущего каталога все файлы, содержащие подстроку "text".
find -exec grep -l text '{}' \; | while read; do rm "$REPLY"; done
grep -m1 text * | cut -d":" -f1 | xargs rm
rm $(grep -m1 test * | cut -d ":" -f1)
rm $(grep -l test *)
Код: [Выделить]rm $(grep -l test *)Совершенно незачем было там мудрить
$ rm $(grep -l test *)rm: missing operandTry `rm --help' for more information.
grep -l text * | while read; do rm "$REPLY"; done
Ну, тогда самый короткий вариант для bash (с учётом возможных пробелов в именах файлов):Код: [Выделить]grep -l text * | while read; do rm "$REPLY"; done
grep -l text * | xargs -i rm "{}"
Страница сгенерирована за 0.128 секунд. Запросов: 24.