Linux批量重命名的技巧(批量重命名linux)

有时候我们可能需要在Linux系统中批量重命名文件。例如,将”img_02.jpg”,”img_03.jpg”等等的命名改为:”02.jpg”,“03.jpg”等等,一次操作可以节省大量的时间和精力。Linux系统中存在着一些很便捷的命令来实现批量重命名文件,我们可以根据实际需求来使用。

一种技巧就是使用 nl 命令, nl 是一个用于显示文件内容和行号的简单工具。它可以在文件的行尾添加行号,并可以将这些行号作为文件的前缀,来重命名文件。

例如,我们有名为demo的文件夹,里面有以下文件:

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200817074657122.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1eGl1bmd3ZQ==,size_16,color_FFFFFF,t_70#pic_center)

首先进入 demo 目录:

“`bash

cd demo


然后使用 nl 命令显示文件并附加行号, `-w` 参数指定行号宽度:

```bash
nl -w 2 ./*

结果如下:

“`bash

1 ./img_02.jpg

2 ./img_03.jpg

3 ./img_04.jpg


接下来,我们可以结合 for 循环来重命名文件:

```bash
for f in $(ls *.jpg); do mv $f ${f%.*}.${f%_*};done

这里,变量$f用来循环遍历文件,`${f%.*}` 表示删除从右边开始的最后一个 . 之前的字符;`${f%_*}` 表示删除从右边开始的第一个 _ 之后的字符;mv 命令用来将新的文件名改掉旧的。

即可一次性将所有文件重命名:

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200817074749568.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1eGl1bmd3ZQ==,size_16,color_FFFFFF,t_70#pic_center)

上面就是 Linux 下批量重命名文件的技巧。它可以节省我们大量的时间和精力,是否能够成功的,一定要根据具体情况而定。


数据运维技术 » Linux批量重命名的技巧(批量重命名linux)