我正在尝试打印如下的最后一个目录
#!/bin/bash
dirc="/a/b/"
i=3
`echo "$dirc" | awk -F / '{ print ""$"i"}'`
应该打印“ b”,这没有发生。
i
在AWK脚本中是AWK变量,而不是shell变量;您需要设置AWK变量:
#!/bin/bash
dirc="/a/b/"
echo "${dirc}" | awk -F / -v i=3 '{print $i}'
您可以i
通过shell理解的任何方式指定值:
i=3
echo "${dirc}" | awk -F / -v "i=${i}" '{print $i}'
您也可以让Shell来评估AWK脚本中的变量,但这只是在寻找麻烦:
i=3
echo "${dirc}" | awk -F / "{print \$${i}}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句