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

shEll Awk iF ElsE

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

else和if之间要有个空格

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

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

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

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

awk '{print $NF}' filename 打印每行的最后一列

awk里面的比较不是用ge le,awk 用来比较的运算符是 >= (大于等于)

空格和冒号(一个或多个)都可以用作字段分隔符。 比如文本格式为: Spring::123 456::AirAsiaGo:haha 分割出的字段就是 Spring 123 456 AirAsiaGo haha

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