例一: 输入 who|awk 'BEGIN{FS="[[:space:]+]"}{print $1"==="$2"==="$3"==="$4} 得出: thinkpddb tty1 2009-06-26 22:35========= thinkpddb pts/0 2009-06-26 22:39 (:0.0)========= thinkpddb pts/1 2009-06-26 23:07 (:0.0)========= 例二: 输入 who|awk '{FS="[[:space:]+]";print $1"==="$2"==="$3"==="$4} 得出: thinkpddb===tty1===2009-06-26===22:35 thinkpddb...
#cat try "hello" # awk -F\" '/hello/{$2="world"}{print}' try > tmp #cat tmp world # awk -F\" '/hello/{$2="world";OFS="\""}{print}' try > tmp #cat tmp "world" 为什么非要加红色的那句才有双引号,我在最前面不是已经用-F声明了以"为分隔符了吗
在bash下执行语句[code]echo "a-b-c.txt"|awk 'BEGIN {FS = "-|."} {print $3}'[/code]结果显示为c.txt,后面的.没有作用,就算是[code]echo "a-b-c.txt"|awk 'BEGIN {FS = "-|\."} {print $3}'[/code]也是一样。请问我的语句错在哪里?谢谢。
请问用awk命令取字符串时,如何设置以^为分隔符,请描述具体一点,我试了几次,总是报 # awk -F ^ '{print $2}' 456.txt >; david.txt awk: syntax error near line 1 awk: bailing out near line 1
echo a b c d |awk '{OFS = ":";print $0}' 我的理解是应该把输出显示为如下的方式 a:b:c:d dan但执行的结果不是这样的 a b c d 为什么啊
[root@localhost ~]# cat datafile Mike Harrington:[510] 548-1278:250:100:175 Christian Dobbins:[408] 538-2358:155:90:201 [root@localhost ~]# awk -F"[][ :]+" '$3~/510/{print $1}' datafile Mike [root@localhost ~]# [root@localhost ~]# awk -F"[ ][:]+" '$3~/510/{print $1}' datafile -bash: [root@localhost: command not found 域分隔符为什么是"[[] :]" 这样设置 [ ] : 空格 这些域分隔符的排列有什么讲究呢
各位大侠: 我在处理文本的时候遇到一个问题,就是我想把我的文本用“ - ”(请注意,是空格,横线,空格)做字段分隔符,在输出的时候想输出整个记录,但是在输出的时候要在每个字段之间用制表符隔开,这个功能怎么实现啊?
对于比较复杂的awk应该如何定义,如文件file内容如下: PING ACE (168.48.12.33): 56 data bytes 64 bytes from ACE (168.48.12.33): icmp_seq=0 ttl=64 time=1.306 ms 64 bytes from ACE (168.48.12.33): icmp_seq=1 ttl=64 time=0.697 ms 64 bytes from ACE (168.48.12.33): icmp_seq=2 ttl=64 time=0.717 ms 64 bytes from ACE (168.48.12.33): icmp_seq=3 ttl=64 time=0.693 ms 64 bytes from ACE (168.48.12.33): icmp_seq=4 ...