С помощью perl
и find
find . -type f -exec perl -i -pe 's/$/ $ARGV/' {} +
s/$/ $ARGV/
добавьте пробел и имя файла в конец каждой строки -i
для редактирования на месте, используйте i.bkp
, если вы хотите сохранить резервную копию исходных файлов. find
не поддерживает +
, используйте \;
вместо найти . -type f
выдаст список всех файлов в текущем каталоге -exec
позволяет использовать команду для работы со всеми этими файлами find . -type f -name '*.txt'
, если вы хотите ограничиться только файлами, заканчивающимися на .txt
Спасибо @thiagowfx за указание на то, что приведенное выше решение добавит имя файла как ./file. txt
, ./foo/file2.txt
и т. д.
Используйте это, чтобы добавить только имя файла без каких-либо ./
и т. д.
find . -type f -exec perl -i -pe 's/$/$ARGV=~s|.*\/| |r/e' {} +
$ARGV=~s|. *\/| |r
даст имя файла, в котором все символы до /
удалены Хорошо, у меня была та же проблема, и это решило ее:
После этого eth0 появился безупречно, aiccu и radvd теперь работают правильно :)