Ми часто використовуємо "mv”Команда для перейменування окремого файлу Linux. Однак швидке перейменування кількох або груп файлів ускладнює завдання терміналу.
Linux поставляється з дуже потужним вбудованим інструментом під назвою перейменувати. перейменувати команда використовується для перейменування декількох або груп файлів, перейменування файлів у малі, перейменування файлів у великі та перезапису файлів за допомогою виразів perl.
“перейменувати”Команда є частиною Perl скрипт, і він знаходиться під "/usr/bin/»На багатьох дистрибутивах Linux. Ви можете запустити "котрий”, Щоб дізнатися розташування команди rename.
$ які перейменувати. /usr/bin/rename
перейменувати файли 's/old-name/new-name/'
Команда rename містить кілька необов’язкових аргументів разом із обов’язковими вираз perl що позначає команду rename для справжньої роботи.
перейменувати [-v] [-n] [-f] perlexpr [файли]
Для кращого розуміння цієї утиліти ми обговорили кілька практичних прикладів цієї команди у статті.
Припустимо, у вас є купа файлів із ".html", І ви хочете перейменувати всі".html"Файли".php»За один раз. Наприклад, спочатку зробіть "ls -l”, Щоб перевірити список файлів за допомогою“.html”Розширення.
# [захищена електронною поштою]: ~ $ ls -l. всього 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 жовтня 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 жовтня 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 жовтня 12:10 health.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 жовтня 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 жовтня 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 жовтня 12:11 photos.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 жовтня 12:11 sports.html
Тепер ви хочете змінити розширення всіх цих файлів із ".html"До".php“. Ви можете скористатися наступним "перейменувати”Команда з вираз perl як показано нижче.
[захищена електронною поштою]: ~ $ перейменувати 's/\. html $/\. php/' *.html
Примітка: У наведеній вище команді ми використали два аргументи.
Давайте перевіримо, чи всі файли перейменовані на “.php”Розширення, робить ls -l за запитом.
[захищена електронною поштою]: ~ $ ls -l. всього 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 жовтня 12:10 cricket.php. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 жовтня 12:10 entertainment.php. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 жовтня 12:10 health.php. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 жовтня 12:10 lifestyle.php. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 жовтня 12:10 news.php. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 жовтня 12:11 photos.php. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 жовтня 12:11 sports.php
Тепер ви можете побачити вище, що все html файли перейменовані на php.
Виконуючи важливі або важливі завдання з перейменування, ви завжди можете перевірити зміни, виконавши команду rename за допомогою “-n”Аргумент. “-nПараметр ”точно вкаже, які зміни відбудуться, але зміни не відбудуться насправді. Ось приклад команди нижче.
[захищена електронною поштою]: ~ $ rename -n 's/\. php $/\. html/' *.php cricket.php перейменовано на cricket.html. entertainment.php перейменовано на entertainment.html. health.php перейменовано на health.html. lifestyle.php перейменовано на lifestyle.html. news.php перейменовано на news.html. photos.php перейменовано на photos.html. sports.php перейменовано на sports.html
Примітка: Наведений вище результат команди відображає лише зміни, але насправді зміни не виконуються, якщо ви не виконаєте команду без "-n”Перемикач.
Ми побачили, що команда rename не відображає жодної інформації про зміни, які вона робить. Отже, якщо ви хочете отримати подробиці про команду rename (як ми зробили за допомогою “-n”), Тут ми використовуємо„-v”Можливість друкувати повну інформацію про всі зміни, зроблені командою rename.
[захищена електронною поштою]: ~ $ перейменувати -v 's/\. php $/\. html/' *.php cricket.php перейменовано на cricket.html. entertainment.php перейменовано на entertainment.html. health.php перейменовано на health.html. lifestyle.php перейменовано на lifestyle.html. news.php перейменовано на news.html. photos.php перейменовано на photos.html. sports.php перейменовано на sports.html
Для пакетного перейменування всіх файлів за допомогою нижній регістр імена до верхній регістр. Наприклад, я хочу приховати всі ці наступні файли з нижче до верхній випадок.
[захищена електронною поштою]: ~ $ ls -l. всього 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 жовтня 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 жовтня 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 жовтня 12:10 health.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 жовтня 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 жовтня 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 жовтня 12:11 photos.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 жовтня 12:11 sports.html
Просто використовуйте таку команду з виразом perl.
[захищена електронною поштою]: ~ $ перейменувати 'y/a-z/A-Z/' *.html
Після виконання вищевказаної команди ви можете перевірити зміни, виконавши команду «ls -l“.
[захищена електронною поштою]: ~ $ ls -l. всього 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 жовтня 12:10 CRICKET.HTML. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 жовтня 12:10 РОЗВАГИ.HTML. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 жовтня 12:10 HEALTH.HTML. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 жовтня 12:10 LIFESTYLE.HTML. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 жовтня 12:10 NEWS.HTML. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 жовтня 12:11 ФОТО.HTML. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 жовтня 12:11 SPORTS.HTML
Ви можете побачити, що вищевказана команда фактично перейменувала всі імена файлів нижнього регістру (з .HTML розширення) до верхнього регістру.
Так само ви можете перетворити все верхній регістр персонажів до нижній регістр за допомогою наведеної нижче команди.
[захищена електронною поштою]: ~ $ перейменувати 'y/A-Z/a-z/' *.HTML
[захищена електронною поштою]: ~ $ ls -l. всього 22532. -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 жовтня 12:10 cricket.html. -rw-rw-r-- 1 ravisaive ravisaive 588895 10 жовтня 12:10 entertainment.html. -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 жовтня 12:10 health.html. -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 жовтня 12:10 lifestyle.html. -rw-rw-r-- 1 ravisaive ravisaive 938895 10 жовтня 12:10 news.html. -rw-rw-r-- 1 ravisaive ravisaive 938937 10 жовтня 12:11 photos.html. -rw-rw-r-- 1 ravisaive ravisaive 978137 10 жовтня 12:11 sports.html
Щоб написати велику літеру кожної назви файлу, використовуйте таку команду.
# перейменувати 's/\ b (\ w)/\ U $ 1/g' *.ext.
Якщо ви хочете примусово перезаписати існуючі файли, використовуйте "-f”, Як показано нижче.
[захищена електронною поштою]: ~ $ перейменувати -f 's/a/b/' *.html
Якщо ви хочете дізнатися більше про команду перейменування, введіть “перейменувати людину”У терміналі.
перейменувати команда дуже корисна, якщо ви маєте справу з багаторазовим або пакетним перейменуванням файлів з командного рядка. Спробуйте і дайте мені знати, наскільки це корисно з точки зору перейменування файлів.