1.模拟匹配多个字符替换命令
sed -i "s/revision=\"[0-9,a-z,A-Z]\{20,40\}\"//g" default.xml
2.批量文件内容替换命令
grep -rl suntec ./* | xargs sed -i "s/suntec/fsl/g"
3.批量改名命令
追加后缀
find . -name "*.txt" |xargs -i mv {} {}.txt
修改后缀
find ./ -name "*.c" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.c ./{}.h
修改文件名统一替换:
find . -name "*.txt" |xargs -i rename 's/****/b/g'
注意,第三种方案是递归的更改,会更改当前目录下及其子目录下所有匹配文件
4.通过域名获取IP地址匹配
IPaddr=`ping wind.storm -c1 | grep PING | awk '{print $3}' | sed 's/[()]//g'`
sed "s/skip=[0-9]\{0,10\}//g"