Я работал над файловой системой JFS, созданной с опцией -O (имена файлов без учета регистра).
Как я могу легко переименовать файл из Test.txt в test.txt?
Использование mv сообщает об ошибке:
mv: ‘Test.txt’ and ‘test.txt’ are the same file
И отчеты nautilus
The name “test.txt” is already used in this location. Please use a different name.
[ 116] Теперь я могу переименовать его в Test2.txt с последующим переименованием в test.txt
Вы можете использовать команду rename
.
На самом деле это не встроенная команда оболочки, как mv
, а жемчужный скрипт, который поставляется по умолчанию с большинством дистрибутивов GNU / Linux. Его использование немного отличается от mv
, поскольку он использует регулярные выражения Pearl для сравнения со списком файлов.
Вот как это использовать в вашем случае:
rename 's/Test\.txt/test\.txt/' *
Команда s
сообщает команде rename
найти и заменить все вхождения Test.txt. с test.txt . Точки .
внутри регулярного выражения должны быть экранированы с помощью \
, поэтому имена файлов пишутся как Test\.txt
. Обратите внимание на *
в конце команды, что означает просмотр всех файлов в текущем каталоге.
Вы можете передать опцию -n
команде rename
, если хотите протестировать ее без внесения каких-либо изменений.