Пошел с учебниками, но не может понять, как использовать.sed regex заменить часть имени файла
Есть 100s файлов через вложенные папки, которые, как необходимость «ABCxxx.ext» переименовать в «XYZxxx.ext»
Где ххх являются строками альфа различно Numberic и .ext любого продления (XML, Java, XLS)
Я могу использовать:
find . -iname "ABC*.*"
в терминале для просмотра этих файлов, но не уверен, что СЭД или другой команды, чтобы использовать для переименования файлов. На Mac 10.9.4
Примеры: "Abc01k.xls" ==> "Xyz01k.xls" "Abcloans.xml" ==> "Xyzloans.xml" "AbcThreads.java" ==> «XyzThreads .java "
Итак, если в названии файла есть символы Abc, замените его на Xyz. Может быть первыми символами или внутри.
Read: https://www.gnu.org/software/sed/manual/sed.html https://apple.stackexchange.com/questions/131164/how-to-tag-files-with-finder-tags-using-parts-of-a-file-name
Последние 1 работает на 1 папку, но я хочу, чтобы посетить все папки.
Баш скрипт:
for i in Abc*; do
mv "$i" "${i/Abc/Xyz}"
done
Как я могу назвать этот скрипт для всех вложенных папок? Или как сделать то же самое с sed?
я положить ли, что в сценарии и вызвать с Баш или ш? Или прямо вставить в терминал? – tgkprog
Вы можете выполнить его в скрипте или вызвать его в терминале. Это две линии. Вы можете сделать это, добавив «;» после первой команды –
Не работает, если изменяется регистр ABC. во всяком случае, чтобы сказать sed, чтобы быть случайным? попытался ... sed 's/Tfw/Ddt/gI'' "; возникла ошибка. Ваш скрипт в файле, 2 строки – tgkprog