В Linux, как пакетное копирование файлов в разные папки? - PullRequest
0 голосов
/ 06 декабря 2011

Допустим, у нас есть файлы

   a/xxx-data.html
   b/c/xxx-data.html
   d/xxx-data.html

И мы хотим сделать копию каждого файла в одной и той же папке, но с другим шаблоном имени, как это

   a/yyy-data.html
   b/c/yyy-data.html
   d/yyy-data.html

Мне просто любопытно, можем ли мы сделать это, комбинируя 'find', 'xargs' и 'awk'?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2011

Нет необходимости ни в одной из этих программ. Just

for file in **/xxx*.html; cp $file ${file/xxx/yyy}

достаточно в зш. Команда для bash должна быть очень похожа.

HTH Крис

0 голосов
/ 06 декабря 2011

Это просто личные предпочтения, но я использую:

find | while read x; do y=`echo $x | awk '{ ... }'`; cp $x $y; done

Конечно, я обычно ищу определенные файлы и обычно не использую awk для простых преобразований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...