www.rsnq.net > 如何在AWK里使用SHELL命令

如何在AWK里使用SHELL命令

这个就需要自己具备熟练的 SHELL 编程技术了,可以使用 awk 命令以及和各种 SHELL 命令结合,提取各种各样的字符串等等。但是具体的由于我很久已经没有编写SHELL程序了,所以已经忘得差不多了,如果要想熟练使用它,还必须要看相关的 SHELL 编程...

1、例如命令 echo 192.168.1.1|awk -F. '{print $1}' echo 192%168%1%1|awk -F\% '{print $1}' awk 参数-F是指定分割符,然后取第一列,这里用.做分割。 \.是用转义字符,防止特殊字符有特殊含义 2、-F和参数[之间不需要空格 例如 echo 192[168[...

sh -x yourshell 可以查看执行过程 # sh -x 1 ++ cut -d . -f1 ++ awk '{pringf $(NF-2)}' ++ uptime + a= + echo 这里pringf写错了应该是printf [root@iZ259r7h4pfZ ~]# cat 1 a=`uptime|awk '{printf $(NF-2)}' |cut -d . -f1` echo $a [root@...

awk将变量传给shell可以用eval, 如 eval $(awk 'BEGIN{print "a=ggg b=3"}') 则shell变量$a就是ggg,shell变量$b就是3

awk中使用shell中的变量 一: "'$var'" 这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如: var="test" awk 'BEGIN{print "'$var'"}' 这种写法其实际是双括号变为单括号的常量,传递给了awk. 如果var中含空格,为了shell不把空格作为...

可以考虑将n的值放在一个文件中,下面有一个例子,可以参考: awk 'BEGIN { system("echo 1234 > tmpfile");}'test111=`cat tmpfile`echo $test111rm -f tmpfile

awk ' { if ($1==1) print "A" else if ($1==2) print "B" else print "C" }' #命名为1.sh 执行方法:echo "1" | sh 1.sh 写成一行: echo "3" | awk '{if ($1==1) print "A"; else if ($1==2) print "B"; else print "C"}'

awk -vAwkParm=$ShellParm ' BEGIN { anum=0; } ........ 使用-v后面紧跟这参数AwkParm, ShellParm是SHELL里的变量。AwkParm可再AWK里直接使用。

echo|awk cmd="$@" "{print cmd}"

shell脚本中, 用一对反引号: var=`echo "test" | awk '{print}'`或者在bash里也可以用$( ) var=$(echo "test" | awk '{print}')

网站地图

All rights reserved Powered by www.rsnq.net

copyright ©right 2010-2021。
www.rsnq.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com