Переименовать регистр файлов в JFS без учета регистра

Я работал над файловой системой JFS, созданной с опцией -O (регистрозависимые имена файлов).

Как я могу легко переименовать файл из Test.txt в test.txt?

Используя mv сообщите об ошибке:

mv: ‘Test.txt’ and ‘test.txt’ are the same file

И наутилус сообщает

The name “test.txt” is already used in this location. Please use a different name.

Теперь я могу переименовать его в Test2.txt с последующим переименованием в test.txt

1 ответ

Вы можете использовать rename команда.

Это на самом деле не встроенная команда оболочки, как mv, но жемчужный скрипт, который поставляется по умолчанию с большинством дистрибутивов GNU/Linux. Это использование немного отличается от mv потому что он использует регулярные выражения Pearl для сравнения со списком файлов.

Вот как это использовать в вашем случае:

rename 's/Test\.txt/test\.txt/' *

s говорит rename Команда для поиска и замены всех вхождений Test.txt с test.txt. Точки . внутри регулярного выражения необходимо экранировать с помощью \Вот почему имена файлов пишутся как Test\.txt, Обратите внимание на * в конце команды это означает просмотр всех файлов в текущем каталоге.

Вы можете передать -n вариант к rename Команда, если вы хотите проверить это без внесения каких-либо изменений.

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