分页: 1 / 1
又有一个问题要请教大家
发表于 : 2009-09-20 13:39
由 bfdxw
我有一个文本文件格式是
代码: 全选
aaaa bbbb cccc dddd
darw opqq eeee cdrr
hymi yybb eeee powq
...
rdaw poqa eeee adsq
dddd cccc bbbb aaaa
如果第三列连续相同超过10行
就把这几行删除(不管多少行,只要超过10行就删除)
这个怎么写啊,awk真难学
Re: 又有一个问题要请教大家
发表于 : 2009-09-20 16:56
由 O_O_BOT
代码: 全选
#!/usr/bin/awk -f
BEGIN {
prev3 = "";
cache = "";
prevcnt = 0;
}
{
if ($3 != prev3 ) {
if (prevcnt <= 10 && cache != "") {
print cache;
}
prev3 = $3;
prevcnt = 1;
cache = $0;
} else {
cache = cache "\n" $0;
prevcnt++;
}
}
END {
if (prevcnt <= 10) {
print cache;
}
}
Re: 又有一个问题要请教大家
发表于 : 2009-09-20 17:26
由 bfdxw
LS真是热心人
太感谢了
最后一个问题,呃..我还有一个文本文件(我文本文件咋就这么多呢)
[abc] [def] [ghi] [jkl]
我用
awk {print$2}以后得到[def]
但是我不想要括号
能不能不用管道,awk一句话做出来得到def
Re: 又有一个问题要请教大家
发表于 : 2009-09-20 17:55
由 bfdxw
自己解决了...

Re: 又有一个问题要请教大家
发表于 : 2009-09-20 18:06
由 O_O_BOT
echo '[abc] [def] [ghi]' | awk '{print gensub(/\[(.*)\]/,"\\1","1",$2)}
echo '[abc] [def] [ghi]' | awk '{gsub(/[][]/,"",$2);print $2}'
或者改IFS
echo '[abc] [def] [ghi]' | awk -F'[][]' '{print $4}'
Re: 又有一个问题要请教大家
发表于 : 2009-11-15 13:20
由 tusooa
代码: 全选
awk '{print $2}' | sed -e '^[/s [ g' -e ']$/s ] g'