【命令星级】 ★★★☆☆
【功能说明】
rename命令通过字符串替换的方式批量修改文件名。
【语法格式】
rename from to file
其中的from、to、file是三个选项。
**范例2-80:**批量修改文件名案例。
[root@centos7 ~]# touch stu_102999_{1..5}_finished.jpg
[root@centos7 ~]# ll -h
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_1_finished.jpg
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_2_finished.jpg
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_3_finished.jpg
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_4_finished.jpg
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_5_finished.jpg
[root@centos7 ~]# rename "_finished" "" * #将所有文件的_finished替换为空。
[root@centos7 ~]# ll
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_1.jpg
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_2.jpg
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_3.jpg
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_4.jpg
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_5.jpg
**范例2-81:**批量修改扩展名案例。
[root@centos7 ~]# rename .jpg .txt *.jpg #将所有文件的.jpg替换为.txt。
[root@centos7 ~]# ll
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_1.txt
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_2.txt
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_3.txt
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_4.txt
-rw-r--r--. 1 root root 0 Oct 21 17:34 stu_102999_5.txt
【命令星级】 ★★★☆☆
【功能说明】
basename命令用于显示去除路径和文件后缀部分的文件名或目录名。
【语法格式】
basename [name] [suffix]
basename [<文件或目录>] [后缀]
说明:
1)注意basename命令以及后面的选项和文件,每个元素之间都至少要有一个空格。
2)suffix是和旋参数,指定要去除的文件后缀字符串。
**范例2-82:**显示文件或目录名。
[root@centos7 ~]# mkdir -p /data/dir1 #测试数据。
[root@centos7 ~]# touch /data/dir1/file1.txt #测试数据。
[root@centos7 ~]# basename /data/dir1/file1.txt #去除路径部分,即只显示文件名。
file1.txt
[root@centos7 ~]# basename /data/dir1/file1.txt .txt #去除路径部分(/data/dir1/)和文件后缀(.txt)
file1