wmjy.net
当前位置:首页 >> shEll Awk iF >>

shEll Awk iF

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"}'

你直接运行grep '2018-06' gprs_c* | grep $num |more 看下是不是有输出? 如果提示 Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. 就是num没有赋值 然后看下awk那里,我这里举了个例子,可以试试下里面...

打印第一行的第一个字段,默认分隔符为 空格或制表符TAB (都可以)。 源数据可以是通过管道传递过来的多行字符串,也可以是文件。 例如: echo -e "A B C\nD E F\nG H I" | awk 'NR==1 {print $1}'或者: awk 'NR==1 {print $1}' file.txt

else和if之间要有个空格

awk默认是以行为单位处理文本的,对1.txt中的每一行都执行后面 "{ }" 中的语句。 awk中的两个术语: 记录(默认就是文本的每一行) 字段 (默认就是每个记录中由空格或TAB分隔的字符串) $0就表示一个记录,$1表示记录中的第一个字段。 一般 pri...

$2:表示第二个字段 print $2 : 打印第二个字段 awk '{print $2}' $fileName : 一行一行的读取指定的文件, 以空格作为分隔符,打印第二个字段 比如有这样一个文件 a1 b1 c1 d1 a2 b2 c2 d2 执行的结果是,输出 b1 b2

awk '{print NF}' file 打印每行的列数,以空格为分隔符

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 '{print $NF}' filename 打印每行的最后一列

awk本身就是按行来处文本的,所以直接在awk中比较处理就可以了。 修改下: #!/bin/shread -p "please input your name: " nameawk -v a=$name '$1==a{print $1}' account

网站首页 | 网站地图
All rights reserved Powered by www.wmjy.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com