Linux对文件和目录进行批量操作:
一、 批量创建文件
touch file:平时我们都是这样创建一个文件。
如果我们想创建的文件,它的名字都类似:file0.txt,file1.txt … … file9.txt
touch file{0..9}.txt:这条命令便可以实现上面的要求。
二、 批量删除文件
rm -rf file:删除一个文件。
删除批量创建的那些文 rm -rf file{0..9}
三、 批量创建文件夹
mkdir dir:创建一个文件夹。
快速创建名字类似的文件夹 mkdir mkdir{0..9}
四、 批量删除文件夹
rmdir dir: 只可以删除一个空文件夹。
rm -rf dir:可以删除一个空、非空文件夹。
如果批量删除上面的生成的文件夹。rmdir dir{0..9} 或者rm -rf dir{0..9}。
四、 批量重命名 将全部.log后缀的文件更改为.jpg后缀 rename ".log" ".jpg" *
rename用法: rename 原字符串 目标字符串 文件
参数
原字符串:将文件名需要替换的字符串;
目标字符串:将文件名中含有的原字符替换成目标字符串;
文件:指定要改变文件名的文件列表。
五、批量添加和删除后缀
添加后缀: for i in * ; do mv $i $i".jpg" ; done
删除后缀: rename 's/\.jpg$//' *.jpg
重要概念
任何路径的任何地方:通配符可以用于路径的任何部分。
无论何处使用路径:由于通配符替换是由系统完成的,而不是命令。因此可以在使用路径的任何地方使用它们。
后记:
在文件操作中,除了掌握必要的命令,来提高效率以外,通配符也是一个必备技巧。
我们也可以使用shell脚本实现:
for name in Test{1..3}.h do touch $name done
let a=1 # 定义变量用来计数 while [ $a -lt 21 ] # 输入后按Enter。当a<21 时 do # 输入后按Enter。干 touch expe$a # 输入后按Enter。$a将得到到当前a的值 let a=$a+1 # 输入后按Enter。令a递增加1 done #输入后按Enter。结束循环
参考: https://www.cnblogs.com/hzdwwzz/p/9903874.html
https://jingyan.baidu.com/article/9989c74619ce43f648ecfe1b.html
https://blog.csdn.net/yaoxingshuai/article/details/50740206
https://blog.csdn.net/zhangyunfei_happy/article/details/61214832