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` 参数指定行号宽度:
```bashnl -w 2 ./*
结果如下:
“`bash
1 ./img_02.jpg
2 ./img_03.jpg
3 ./img_04.jpg
接下来,我们可以结合 for 循环来重命名文件:
```bashfor 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 下批量重命名文件的技巧。它可以节省我们大量的时间和精力,是否能够成功的,一定要根据具体情况而定。