Переименовать регистр файлов в 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 Команда, если вы хотите проверить это без внесения каких-либо изменений.