Chinaunix
标题:
awk如何截取abc/bcd/efg/*最后的*号
[打印本页]
作者:
jun277
时间:
2013-09-18 09:26
标题:
awk如何截取abc/bcd/efg/*最后的*号
例如:param="abc/bcd/efg/*"
为什么我var=$(echo "$param" | awk -F/ '{print $NF}')这样截取不到,应该如何写呢?
作者:
关阴月飞
时间:
2013-09-18 10:02
本帖最后由 关阴月飞 于 2013-09-18 10:06 编辑
var=$(echo "$param" | awk -F/ '{print $NF}')
echo "$var"
or
echo "${param##*/}"
复制代码
作者:
ad760
时间:
2013-09-18 10:38
关阴月飞 发表于 2013-09-18 10:02
echo "$var" 为何要加“”这个符号
作者:
reb00t
时间:
2013-09-18 10:42
echo "abc/bcd/efg/*"|awk -F'/' '{print $NF}'
echo "abc/bcd/efg/*"|cut -d '/' -f4
echo "abc/bcd/efg/*"|tr -d "a-zA-Z/"
练习下
作者:
jun277
时间:
2013-09-18 10:52
回复
2#
关阴月飞
同问echo "$var" 为何要加“”这个符号
作者:
rdcwayx
时间:
2013-09-18 11:26
本帖最后由 rdcwayx 于 2013-09-18 13:26 编辑
因为var的值是 * , 你可以试一下这个命令:
echo *
echo "*"
复制代码
第一个命令,当echo 碰上 * 的时候, 理解成列出当前文件列表。
第二条命令加了双引号, 忽略大多数特殊字符,具体说,括在双引号中的三种特殊字符不被忽略:$,\,`, 也就列出的* 这个字符。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2