Использование подстановочных знаков для массового переименования? [dубликат]

У этого вопроса уже есть ответ здесь: Как легко переименовать файлы с помощью командной строки? 8 ответов

Я понял, что я назвал кучу файлов по-одному, поэтому я хотел переименовать любой файл, начинающийся с «1», в одно и то же, кроме как начиная с 2.

Например, mv 1.4.5.txt 2.4.5.txt или mv 1-chart.jpg 2-chart.jpg и т. д.

Я попробовал mv 1* 2*, но это не было принято, потому что он интерпретирует 2* как каталог.

3
задан 13 October 2017 в 02:29

6 ответов

Подстановочные знаки этого не сделают. Посмотрите на результат echo mv 1* 2*. Лучше всего (man rename):

rename 's/^1/2/' 1*
4
ответ дан 22 May 2018 в 17:36
  • 1
    Чтобы сделать это динамически, вместо этого используйте rename 's/^[0-9]*/$&+1/e' file, это увеличит число в начале имени файла на единицу. К сожалению, вопрос закрыт, поэтому я не могу добавить для этого еще один ответ. – dessert 13 October 2017 в 09:47
  • 2
    @dessert. Как насчет " переименовать любой файл, начинающийся с " 1 " к тому же, кроме начала с 2. " говорит "увеличивать число в начале"? – waltinator 13 October 2017 в 15:52

Подстановочные знаки этого не сделают. Посмотрите на результат echo mv 1* 2*. Лучше всего (man rename):

rename 's/^1/2/' 1*
4
ответ дан 18 July 2018 в 05:23

Подстановочные знаки этого не сделают. Посмотрите на результат echo mv 1* 2*. Лучше всего (man rename):

rename 's/^1/2/' 1*
4
ответ дан 24 July 2018 в 18:18

Вы можете использовать подстановочные знаки таким образом, если вы установите mmv (хотя они должны быть кавычками), поэтому они интерпретируются самим mmv, а не оболочкой), а подстановочный знак заменяет форму #n на замените n-ый шаблон из шаблона:

Usage: mmv [-m|x|r|c|o|a|l] [-h] [-d|p] [-g|t] [-v|n] [from to]

Use #[l|u]N in the ``to'' pattern to get the [lowercase|uppercase of the]
string matched by the N'th ``from'' pattern wildcard.

A ``from'' pattern containing wildcards should be quoted when given
on the command line. Also you may need to quote ``to'' pattern.

Use -- as the end of options.

Итак, например

$ mmv -n -- '1*' 2#1
1.sh -> 2.sh : delete old 2.sh? n
1-chart.jpg -> 2-chart.jpg
1.4.5.txt -> 2.4.5.txt
1.csv -> 2.csv

(Опция -n позволяет вам выполнять сухой режим - удалите его для фактического переименования файлов.)

1
ответ дан 22 May 2018 в 17:36

Вы можете использовать подстановочные знаки таким образом, если вы установите mmv (хотя они должны быть кавычками), поэтому они интерпретируются самим mmv, а не оболочкой), а подстановочный знак заменяет форму #n на замените n-ый шаблон из шаблона:

Usage: mmv [-m|x|r|c|o|a|l] [-h] [-d|p] [-g|t] [-v|n] [from to] Use #[l|u]N in the ``to'' pattern to get the [lowercase|uppercase of the] string matched by the N'th ``from'' pattern wildcard. A ``from'' pattern containing wildcards should be quoted when given on the command line. Also you may need to quote ``to'' pattern. Use -- as the end of options.

Итак, например

$ mmv -n -- '1*' 2#1 1.sh -> 2.sh : delete old 2.sh? n 1-chart.jpg -> 2-chart.jpg 1.4.5.txt -> 2.4.5.txt 1.csv -> 2.csv

(Опция -n позволяет вам выполнять сухой режим - удалите его для фактического переименования файлов.)

1
ответ дан 18 July 2018 в 05:23

Вы можете использовать подстановочные знаки таким образом, если вы установите mmv (хотя они должны быть кавычками), поэтому они интерпретируются самим mmv, а не оболочкой), а подстановочный знак заменяет форму #n на замените n-ый шаблон из шаблона:

Usage: mmv [-m|x|r|c|o|a|l] [-h] [-d|p] [-g|t] [-v|n] [from to] Use #[l|u]N in the ``to'' pattern to get the [lowercase|uppercase of the] string matched by the N'th ``from'' pattern wildcard. A ``from'' pattern containing wildcards should be quoted when given on the command line. Also you may need to quote ``to'' pattern. Use -- as the end of options.

Итак, например

$ mmv -n -- '1*' 2#1 1.sh -> 2.sh : delete old 2.sh? n 1-chart.jpg -> 2-chart.jpg 1.4.5.txt -> 2.4.5.txt 1.csv -> 2.csv

(Опция -n позволяет вам выполнять сухой режим - удалите его для фактического переименования файлов.)

1
ответ дан 24 July 2018 в 18:18

Другие вопросы по тегам:

Похожие вопросы: