avatar
Shell programming problem, Thx!# Unix - 噫吁兮,危乎高哉
d*m
1
I have a text file. There are 2 columns in each line, seperated by \t\t
as follows (c1 and c2 are strings might contain blankspace ):
c1\t\tc2
The lines are sorted by c2
How can I count the appearance of strings c2 and delete all the rows
that c2 appears just once in this file? How can I do that by just using
unix command or using awk or sed?
Thank a lot!
avatar
s*e
2
#!/usr/bin/awk -f
BEGIN { FS = "\t\t"; lastc2 = "" }
{ if ( lastc2 == $2 ) {
first = first + 1
if ( first == 1 ) {
print lastline "\n" $0
} else {
print $0
}
} else {
first = 0
}
lastline = $0
lastc2 = $2
}

【在 d**m 的大作中提到】
: I have a text file. There are 2 columns in each line, seperated by \t\t
: as follows (c1 and c2 are strings might contain blankspace ):
: c1\t\tc2
: The lines are sorted by c2
: How can I count the appearance of strings c2 and delete all the rows
: that c2 appears just once in this file? How can I do that by just using
: unix command or using awk or sed?
: Thank a lot!

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。