У меня есть 4 файлов для переименования:Использование регулярных выражений в Баш с мв
./01:
I0010001 I0020001
./02:
I0010001 I0020001
Я хочу, чтобы добавить вспомогательное имя файла .dcm
к каждому файлу, так что я пробовал: не
$ mv \(*/*\) \1.dcm
mv: cannot stat '(*/*)': No such file or directory
$ mv \(./*/*\) \1.dcm
mv: cannot stat '(./*/*)': No such file or directory
$ mv \(./\*/\*\) \1.dcm
mv: cannot stat '(./*/*)': No such file or directory
$ mv "\(./*/*\)" "\1.dcm"
mv: cannot stat '\(./*/*\)': No such file or directory
$ mv 0\([1-2]\)/I00\([1-2\)]0001 0\1/I00\20001.dcm
mv: cannot stat '0([1-2])/I00([1-2)]0001': No such file or directory
$ mv "0\([1-2]\)/I00\([1-2\)]0001" "0\1/I00\20001.dcm"
mv: cannot stat '0\([1-2]\)/I00\([1-2\)]0001': No such file or directory
$ mv "0\([1-2]\)/I00\([1-2]\)0001" "0\1/I00\20001.dcm"
mv: cannot stat '0\([1-2]\)/I00\([1-2]\)0001': No such file or directory
$ mv "0\([[:digit:]]\)/I00\([[:digit:]]\)0001" "0\1/I00\20001.dcm"
mv: cannot stat '0\([[:digit:]]\)/I00\([[:digit:]]\)0001': No such file or directory
$ mv "0\([1-2]\)\/I00\([1-2]\)0001" "0\1/I00\20001.dcm"
mv: cannot stat '0\([1-2]\)\/I00\([1-2]\)0001': No such file or directory
$ mv \(*\) \1.dcm
mv: cannot stat '(*)': No such file or directory
Ни один из них дайте результат, который я хочу.
Итак, вы знаете: ваша проблема здесь в том, что это не регулярные выражения: звезда в bash использует [globbing] (https://linux.die.net/man/7/glob). Особое отличие здесь состоит в том, что нет групп захвата: скобки считаются буквами. – Chris