Какой самый простой способ в * nix подстановить подстроку имени файла?


3

Я хочу сделать что-то вроде участия подстановочного совпадения и использовать его аналогично регулярному выражению. Команда может выглядеть примерно так

cat foo_* | python magic.py > magic_*

Если мои имена файлов

   foo_biz
   foo_baz

Я хочу, чтобы вывод был в файлах с именем

   magic_biz
   magic_baz

эффективно изменяя имена файлов с foo_*на magic_*.

Возможно ли сделать это в команде оболочки? Я использую bash, но ответ для других оболочек тоже подойдет.

Ответы:



1

Что-то немного отличающееся от отличного ответа Гордона:

foos=(foo_*)
suffixes=(${foos[@]#foo_})
for sfx in "${suffixes[@]}"; do
    python magic.py < "foo_$sfx"  > "magic_$sfx"
done

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.