linux?rename如何批量修改文件名

1. rename 重命名

語法
rename ‘s/src/dst/’ * *可以匹配任意文件,可以加限制(*.jpg)

2. 基本用法

這種方式遇到第一個匹配的字符串時,替換,后面的不替換
只匹配了第一個.txt

rename?'s/.txt/.jpg/'?*

linux?rename如何批量修改文件名

**加上$**則會匹配到后綴

rename?'s/.txt$/.jpg/'?*

linux?rename如何批量修改文件名

3. 添加后綴

在所有文件的文件名后面添加str

rename?'s/$/str/'?*

舉例rename ‘s/$/txt/’ * 在文件名后添加txt

linux?rename如何批量修改文件名

4. 批量刪掉后綴

刪除所有文件的文件名后面的str

rename?'s/str$//'?*

舉例rename ‘s/txt$//’ *刪除所有文件的文件名后面的txt

linux?rename如何批量修改文件名

5. 添加前綴

在所有文件的文件名前面面添加str

rename?'s/^/str/'?*

舉例rename ‘s/^/hhh’ * 在文件名前添加hhh

linux?rename如何批量修改文件名

6. 刪除前綴

刪除所有文件的文件名前面的str

rename?'s/^str//'?*

舉例rename ‘s/^hhh//’ *刪除所有文件的文件名后面的hhh

linux?rename如何批量修改文件名

開始的字符串^str
結尾的字符串str$

擴展:linux shell的rename的用法

rename分為兩個版本,分別是C語言版本和Perl版本

C語言版本的格式:

rename 原字符串 新字符串 文件名

例:

當要修改的文件是存放在當前目錄的子目錄下的file文件夾下,準備將含有linux的文件全部替換成unix的

(1)當前處于file文件夾下,語句則是 rename linux unix *

(2)當前處于file文件的父目錄,語句則是 rename linux unix file/*

Perl版本的樣式:

rename ‘s/原字符串/新字符串/’ 文件名

例:

題目同C語言版本的題目

(1)當前處于file文件夾下,語句則是 rename ‘s/linux/unix/’ *

(2)當前處于file文件的父目錄,語句則是 rename ‘s/linux/unix/’ file/*

注:現在基本使用的是Perl版本的

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享