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

Я использовал сценарий, который переименовал мой файл, например, 'эхо webutil.olb | TR [A-Z] [a-z]', я хотел переименовать его назад к webutil.olb. Как я делаю это для многих других файлов, которые я имею

3
задан 11.05.2010, 12:46

3 ответа

Debian rename позволяет Вам указывать sed шаблон замены для применения против имен файлов для переименования их.

2
ответ дан 08.12.2019, 01:09

Предполагая, что файлы были переименованы с дополнительными строками, это, вероятно, поможет:

for file in echo*
do
    new="${file#* }"    # strip up to the first space (remove "echo ")
    new="${new% |*}"    # strip the space-pipe and after (remove " | tr ...")
    mv "$file" "$new"
done

Это переименует, например, файл, названный буквально ", повторяют webutil.olb | TR [A-Z] [a-z]", чтобы быть названным "webutil.olb" и будет работать на другие файлы, так же названные. Это ожидает, что требуемые имена будут между пространством и пространством, сопровождаемым каналом.

1
ответ дан 08.12.2019, 01:09

Для Вашего примера, tr оставленный webutil.olb, как это было.

В целом Вы не можете сделать этого, так как Вы теряете информацию о случае. Например, имя файла "webutil.olb" могло бы прибыть из применения TR к "WebUtil.olb" или "WEBUTIL.olb".

0
ответ дан 08.12.2019, 01:09

Теги

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