每天开心一点

linux批量文件操作

2020-09-07 11:16:00    六月    883    来源: https://blog.csdn.net/qq_28296925/article/details/81027840

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