# 这个案例感觉有点绕,如果是本地机器备份完全没必要。下面带颜色的写法值得我们借鉴,所以还是做下笔记吧
#!/bin/bash # 找出/123/目录下所有txt结尾的文件,且形成一个列表清单的文件 find /123/ -type -name "*.txt" >/tmp/txt.list # 通过for循环把文件改名字,以.bak结尾 for f in `cat /tmp/txt.list` do mv $f $f.bak done # 下面两种写法可以直接做到上面的效果 find /123/ -type f -name *.txt |xargs -i mv {} {}.bak find /123/ -type f -name *.txt -exec mv {} {}.bak \; # echo命令把所有显示成一行 echo -n #一行显示 echo -e #分行显示