path="a/b/c/d"
echo $path
a/b/c/d
echo $path|sed "s%a/b/c%`pwd`%g"
/test/d
echo $path|sed "s%a/b/c%$PWD%g"
/test/d
执行命令就直接上 ` `
引用变量就直接上 $
因为pwd命令或者PWD变量会得到带/的字符串,与sed默认的分隔符冲突,所以可以改用%替换执行命令。
否则,会出现以下结果:
sed: -e expression #1, char 13: unknown option to `s'
awk里可以这样
echo $1 |cut -d '=' -f2|awk -F "," '{for(i=1;i<=NF;i++) system("gunzip "$i) "\n"}'