Скопируйте целую кучу файлов с небольшим изменением их имен с помощью сценария оболочки - PullRequest
0 голосов
/ 05 августа 2011

У меня очень большое количество файлов с очень похожими именами: row1col1.txt, row1col2.txt, row1col3.txt, row1col4.txt ......

Я хотел бы сделать копииих всех и измените имена на row2col1.txt, row2col2.txt, row2col3, txt, row2col4.txt ......

Используя команду cp в сценарии оболочки, как я могу сделать это эффективно?

Ответы [ 2 ]

1 голос
/ 05 августа 2011

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

Одна из возможностей:

ls row1col*.txt |
sed 's/row1\(.*\)/cp & row2\1/' |
sh -x

При этом используется ls для генерации списка имен и sed для генерации cpкоманда для каждого именованного файла и передает его sh, чтобы выполнялись операции копирования.Не запускайте его до sh, пока не убедитесь, что все остальное правильно.

0 голосов
/ 08 августа 2011

Если вы используете программу mcp, содержащуюся в пакете mmv, вы можете сделать это так:

mcp row1\* row2\#1
...