Моя хитрость заключается в том, чтобы добавить следующий псевдоним в.bashrc
alias reboot='echo "Вашей учетной записи не разрешено выполнять команду перезагрузки без sudo"'
Делать это по одному файлу за раз? Если это не много-много файлов, просмотр того, что вы делаете, имеет решающее значение.
Если они живут в dir1
, dir2
и так далее:
for d in dir1 dir2 dir3; do
(cd $d; for f in `ls *.txt`; do frobnicate $f; done)
done
Объяснение :Внешний for
обходит каталоги. В подадле ((...)
)мы входим в каталог, хватаем имена любых *.txt
файлов, frobnicate
каждый из них по очереди (внутренний for
), и мы done
. Поскольку внутреннее задание находится в подоболочке, мы вернулись к тому, с чего начали, и можем перейти в следующий каталог.
Осторожно, это взорвется вам в лицо, если какое-либо имя каталога или файла содержит пробелы или другие необычные символы. Он не сохраняет оригиналы (в случае, если frobnicate
искажает их содержимое ), и (, очевидно, )заблокирует любые найденные файлы.