2016-12-08 6 views
-1

У меня есть около 3500 файлов (.doc .xls .pdf и т. Д.), У них у всех есть «~» после расширения. ie blahblah.doc ~, blahblah.xls ~ Я недостаточно хорошо знаком с регулярным выражением, чтобы корректно получить синтаксис. Какая будет самая простая команда/сценарий для этого в оболочке bash. Благодарю вас.переименование файлов с (~) после расширения

+0

Мы говорим о файлах в одной папке? Что такое ОС, Linux? – Zafi

+0

, если он всегда заканчивается '~' use' (?:. + \ .. + ~ $) ';). –

+0

Я должен был сказать, конечной целью является переименование всех файлов без трейлинг-тильды (~) –

ответ

1

Это должно сделать это

rename -n 's/~$//' *.* 

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

+0

rename -n 's /(.*) ~ $/$ 1 /' *. *, Похоже, работает, он отображает то, что я хочу. Какую часть я удаляю, чтобы записать ее? –

+0

@BPatton Вам нужно будет удалить '-n'. Я немного упростил регулярное выражение. Оформить обновление обновленного regex – Anirudha

+0

argh, не будет «найти. -iname *. * ~ | Rename '/^(.*) ~ $/$ 1 /' *. * Иметь возможность пройти через структуру каталогов и изменить все файлы, заканчивающиеся на ~! –

Смежные вопросы