2个有用的脚本
1,备份当前目录下所有.sh文件的脚本
ls *.sh | sed -e 's;\(.*sh\);cp \1 \1.bak;' | sh -x
这里用到了向后引用的概念, BRE(Basic Regular Expression)在单个模式中最多支持9个子表达式,且为可嵌套格式。
2, 备份svn下所有修改过的文件
svn st输出的格式为:
svn st | awk '{ if($1 == "M" || $1 == "G") print "tar -rvf Classes.tar " $2;}' | sh -x
? a.h
M a.mm
D b.h
用awk取判断第1个为“M”,表示修改过的, 由于我不知道如何在awk中直接调用tar命令,故用print打印出来,由sh执行。