удалите числа из имен файлов в Mac OS X

У меня есть каталог, полный файлов с именами в этом формате (с числами как запуск каждого имени файла):

102_file.txt
104_list.txt
242_another_file.txt

Я хотел бы переименовать их следующим образом (т.е. удаление чисел):

file.txt
list.txt
another_file.txt

Кто-либо может предложить способ сделать это (по-видимому, от терминала)?

4
задан 20.11.2014, 08:01

1 ответ

Я предполагаю, что у Вас есть оболочка удара на Вашем Mac.

Можно сделать это с помощью расширения параметра удара:

for name in *; do mv -v "$name" "${name#[0-9]*_}"; done

Это удалит все цифры до первого _.

Примечание: это перезапишет файлы, которые заканчивают тем, что имели то же имя.

Пример:

$ ls -1
000_file0.txt
001_file1.txt
002_file1.txt # <-- same name
003_003_file3.txt

$ for name in *; do mv -v "$name" "${name#[0-9]*_}"; done
`000_file0.txt' -> `file0.txt'
`001_file1.txt' -> `file1.txt'
`002_file1.txt' -> `file1.txt' # <-- overwrite
`003_003_file3.txt' -> `003_file3.txt'
7
ответ дан 07.12.2019, 19:56

Теги

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