linux dirname,Linux常用(rename,basename,dirname)基本命令讲解

本文介绍了在Ubuntu 16.04和CentOS系统中如何使用`rename`命令批量处理文件,包括如何创建一系列.html文件,移除、添加.html后缀,以及将.html后缀替换为.htm。还提到了`basename`和`dirname`命令用于获取文件的基本名称和目录路径。
摘要由CSDN通过智能技术生成

rename:重命名文件,

我下面的操作是在ubuntu16.04发行版 演示的,centos下面的语法有些不同

1,首先,生成1到100命名的.html后缀的文件

fa77209867e31c59690637f3c5e8f17b.png

ghostwu@dev:~/linux/rename$ ls

ghostwu@dev:~/linux/rename$ touch {1..100}.html

ghostwu@dev:~/linux/rename$ ls

100.html 21.html 33.html 45.html 57.html 69.html 80.html 92.html

10.html 22.html 34.html 46.html 58.html 6.html 81.html 93.html

11.html 23.html 35.html 47.html 59.html 70.html 82.html 94.html

12.html 24.html 36.html 48.html 5.html 71.html 83.html 95.html

13.html 25.html 37.html 49.html 60.html 72.html 84.html 96.html

14.html 26.html 38.html 4.html 61.html 73.html 85.html 97.html

15.html 27.html 39.html 50.html 62.html 74.html 86.html 98.html

16.html 28.html 3.html 51.html 63.html 75.html 87.html 99.html

17.html 29.html 40.html 52.html 64.html 76.html 88.html 9.html

18.html 2.html 41.html 53.html 65.html 77.html 89.html

19.html 30.html 42.html 54.html 66.html 78.html 8.html

1.html 31.html 43.html 55.html 67.html 79.html 90.html

20.html 32.html 44.html 56.html 68.html 7.html 91.html

fa77209867e31c59690637f3c5e8f17b.png

2,通过rename+正则表达式,把.html后缀去掉

fa77209867e31c59690637f3c5e8f17b.png

ghostwu@dev:~/linux/rename$ rename 's/\.html//' *.html

ghostwu@dev:~/linux/rename$ ls

1 14 2 25 30 36 41 47 52 58 63 69 74 8 85 90 96

10 15 20 26 31 37 42 48 53 59 64 7 75 80 86 91 97

100 16 21 27 32 38 43 49 54 6 65 70 76 81 87 92 98

11 17 22 28 33 39 44 5 55 60 66 71 77 82 88 93 99

12 18 23 29 34 4 45 50 56 61 67 72 78 83 89 94

13 19 24 3 35 40 46 51 57 62 68 73 79 84 9 95

fa77209867e31c59690637f3c5e8f17b.png

s:表示替换,  //两个斜杠中没有内容,表示.html 替换为空

3,在文件末尾添加.html后缀

fa77209867e31c59690637f3c5e8f17b.png

ghostwu@dev:~/linux/rename$ ls

1 14 2 25 30 36 41 47 52 58 63 69 74 8 85 90 96

10 15 20 26 31 37 42 48 53 59 64 7 75 80 86 91 97

100 16 21 27 32 38 43 49 54 6 65 70 76 81 87 92 98

11 17 22 28 33 39 44 5 55 60 66 71 77 82 88 93 99

12 18 23 29 34 4 45 50 56 61 67 72 78 83 89 94

13 19 24 3 35 40 46 51 57 62 68 73 79 84 9 95

ghostwu@dev:~/linux/rename$ rename 's/$/\.html/' *

ghostwu@dev:~/linux/rename$ ls

100.html 21.html 33.html 45.html 57.html 69.html 80.html 92.html

10.html 22.html 34.html 46.html 58.html 6.html 81.html 93.html

11.html 23.html 35.html 47.html 59.html 70.html 82.html 94.html

12.html 24.html 36.html 48.html 5.html 71.html 83.html 95.html

13.html 25.html 37.html 49.html 60.html 72.html 84.html 96.html

14.html 26.html 38.html 4.html 61.html 73.html 85.html 97.html

15.html 27.html 39.html 50.html 62.html 74.html 86.html 98.html

16.html 28.html 3.html 51.html 63.html 75.html 87.html 99.html

17.html 29.html 40.html 52.html 64.html 76.html 88.html 9.html

18.html 2.html 41.html 53.html 65.html 77.html 89.html

19.html 30.html 42.html 54.html 66.html 78.html 8.html

1.html 31.html 43.html 55.html 67.html 79.html 90.html

20.html 32.html 44.html 56.html 68.html 7.html 91.html

fa77209867e31c59690637f3c5e8f17b.png

4,把.html后缀替换为.htm

ghostwu@dev:~/linux/rename$ rename 's/\.html/\.htm/' *

ghostwu@dev:~/linux/rename$ ls

100.htm 19.htm 28.htm 37.htm 46.htm 55.htm 64.htm 73.htm 82.htm 91.htm

...

5,basename,返回路径中的文件名部分

ghostwu@dev:~$ basename ./linux/rename/1.htm

1.htm

6,basename, 返回路径中的文件名,不包括后缀

ghostwu@dev:~$ basename ./linux/rename/1.htm .htm

1

7,dirname,返回文件的路径部分

ghostwu@dev:~$ dirname ./linux/rename/1.htm

./linux/rename

本文由来源 ghostwu,由 centos 整理编辑,其版权均为 ghostwu 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值