怎么给bash shell当中的变量获取awk行处理后得到的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么给bash shell当中的变量获取awk行处理后得到的值相关的知识,希望对你有一定的参考价值。
例如有个文件a.txt,文件内容是这样的
“ttl 3600 a b c
hello world”
现在我为了获得ttl后面的那个3600的值并且把它赋值给bash shell里面的变量ttl
我是这么写的
awk '/ttl/ $ttl=$2' auto.lxdns.com.hosts
echo $ttl
可是变脸ttl得不到值,是什么原因
ttl=`sed q a.txt|awk 'print $2'`
echo $ttl
不明白auto.lxdns.com.hosts 是哪里冒出来。 参考技术B 手上没有LINUX
可以试一下:
ttl=`awk '/ttl/ print $2' auto.lxdns.com.hosts`
等号后面不是单引号,是esc下面的那个键 参考技术C awk '/ttl/ print $2' auto.lxdns.com.hosts | while read ttl ; do echo $ttl; done 参考技术D [root@localhost ~]# ttl=$(awk '/ttl/ print $2' a.txt)
[root@localhost ~]# echo $ttl
3600
[root@localhost ~]#本回答被提问者采纳
awk中使用$0与shell脚本$1有冲突怎么办
参考技术A 用单引号将awk命令括起来,不要用双引号,在shell中单引号中$不会被解释成变量,因此在awk脚本单引号中$n就表示awk变量,不会被shell处理以上是关于怎么给bash shell当中的变量获取awk行处理后得到的值的主要内容,如果未能解决你的问题,请参考以下文章