修改单个文件或者目录名使用mv指令:
①将一个名为abc.txt的文件重命名为123.txt
[root@station90 root]#mv abc.txt 123.txt
②将目录A重命名为B
[root@station90 root]#mv A B
③将a.txt移动到/b下,并重命名为c.txt
[root@station90 root]#mv a.txt /b/c.txt
以下内容转载自Linux下rename批量修改文件名,仅个人学习备份,如侵删
问题:
Linux下怎么批量修改文件名?
解答:
我们知道,在Linux中可以用mv ab 12
命令把ab
的文件名修改为12
,那么假如当有asd1.sol asd2.sol asd3.sol ... asd297.sol
297个文件该怎么修改文件名呢?显然是不可能一个一个去mv
的。
那么到了用rename
的时候了:(如果没有rename命令,可以用sudo apt install rename
安装)
用法参考:http://man.linuxde.net/rename
重点在下面,比如这句rename "s/AA/aa/" *
把文件名中的AA替换成aa,前面s代表修改,之后AA代表原来的名字,aa代表改之后的名字。
注意:rename有2个版本,分别是c版和prel版,这里用的是有正则表达式的prel版。
现在便可以实现我的目的了:
1.把所有文件 A_ 去掉
2.把所有.sol 结尾的改为 .out
效果如下:
顺便说下批量压缩命令:
for i in *; do zip -qr $i.zip $i; done
q代表不显示过程,r代表递归压缩。
解压缩用unzip -q A.zip
,这就是把A.zip解压。
感谢:jdocker,woodelf