亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
匹配每行的第二列,只輸出第一次匹配行
[打印本頁(yè)]
作者:
volwang
時(shí)間:
2015-02-13 12:37
標(biāo)題:
匹配每行的第二列,只輸出第一次匹配行
本帖最后由 volwang 于 2015-02-13 12:40 編輯
已知文本:
qq sss.1 ww dd rr ee tt yyy
qq sss.1 wr dt tr ye qt yxy
qq sss.2 ww dd rr ee tt yyy
qq sss.3 ww dd rr ey tt yyy
qq sss.3 ww dd rr ee tt yyy
qq sss.1 ww dd rr ee tt yyy
qq sss.1 ww dr er te wt yyy
qq sss.x1 ww dr ur te wt yyy
qq sss.x1 ww dr er te wt yyy
當(dāng)?shù)诙凶址嗤瑫r(shí),只輸出第一次出現(xiàn)的列,后面重復(fù)出現(xiàn)的刪除。
上述文本只輸出第1,3,4,8列,第2,5,6,7,9列不輸出。
結(jié)果:
qq sss.1 ww dd rr ee tt yyy
qq sss.2 ww dd rr ee tt yyy
qq sss.3 ww dd rr ey tt yyy
qq sss.x1 ww dr ur te wt yyy
謝謝
作者:
ly5066113
時(shí)間:
2015-02-13 12:57
回復(fù)
1#
volwang
awk '!a[$2]++' file
復(fù)制代碼
作者:
volwang
時(shí)間:
2015-02-13 17:13
這個(gè)文本有25萬(wàn)行。用你這行代碼只能處理一部分。
作者:
volwang
時(shí)間:
2015-02-13 17:13
這個(gè)文本有25萬(wàn)行。用你這行代碼只能處理一部分。
作者:
volwang
時(shí)間:
2015-02-13 17:13
不能充分匹配。
作者:
zxy877298415
時(shí)間:
2015-02-13 18:32
wk '{if(++a[$2]==1) print $1,$3,$4,$8}' file
qq ww dd yyy
qq ww dd yyy
qq ww dd yyy
qq ww dr yyy
復(fù)制代碼
回復(fù)
5#
volwang
作者:
zooyo
時(shí)間:
2015-02-13 18:45
提示:
作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者:
zxy877298415
時(shí)間:
2015-02-13 21:57
回復(fù)
7#
zooyo
作者:
dn833
時(shí)間:
2015-02-13 23:39
找個(gè)較大內(nèi)存的機(jī)器,把文件放到/dev/shm下再試試看
作者:
blackold
時(shí)間:
2015-02-14 09:43
回復(fù)
4#
volwang
25萬(wàn)行不成問(wèn)題吧。
作者:
yyt030
時(shí)間:
2015-02-15 12:31
回復(fù)
4#
volwang
量大有啥區(qū)別?這個(gè)解決很完美!
作者:
volwang
時(shí)間:
2015-02-16 18:27
本帖最后由 volwang 于 2015-02-16 18:32 編輯
文本有20萬(wàn)行。
akw只處理一部分文本就退出。awk沒(méi)有處理全部文本。
回復(fù)
11#
yyt030
作者:
Herowinter
時(shí)間:
2015-02-16 18:48
回復(fù)
12#
volwang
1樓的數(shù)據(jù)和你的真實(shí)數(shù)據(jù)差距很大?
否則25W行好像可以處理啊。。。
作者:
volwang
時(shí)間:
2015-02-16 18:52
稍微有點(diǎn)差距。20w行,8列。
awk處理一部分。
20w行中第二列中有不少重復(fù)的。需要輸出第一個(gè),后續(xù)相同的不輸出。
回復(fù)
13#
Herowinter
作者:
volwang
時(shí)間:
2015-02-16 19:01
你好。過(guò)節(jié)好。
awk我試過(guò)了,少量行可以處理,行20萬(wàn)就不行了。
如果我把這個(gè)文件命為log,用for循環(huán)遍歷每一行第二列。
第一次出現(xiàn)的寫(xiě)到log2中,后續(xù)循環(huán)中,判斷l(xiāng)og2中是否含有相同字符,無(wú)則輸出到log2。
不知道這樣可行?
最后得到log2,則為輸出。
回復(fù)
13#
Herowinter
作者:
volwang
時(shí)間:
2015-02-16 19:36
原輸入文件為log;輸出文件為log2。
rm -rf log2
touch log2
for i in `cat log |awk '{print $2 }' `
do
aa=`cat log2 | grep $i `
if [ ! -z "$aa" ] ; then
echo "have"
else
cat log |grep $i |head -1 >> log2
fi
done
這樣可否
回復(fù)
13#
Herowinter
作者:
KoomIer
時(shí)間:
2015-02-17 11:09
用python建立一個(gè)數(shù)組,然后try一下就好了
沒(méi)有就輸出,有就忽略
回復(fù)
1#
volwang
作者:
jason680
時(shí)間:
2015-02-17 15:18
回復(fù)
14#
volwang
Try this way if your awk can't work properly
$ perl -lane '{print if(
!$h{$F[1]}++
)}' FILE
qq sss.1 ww dd rr ee tt yyy
qq sss.2 ww dd rr ee tt yyy
qq sss.3 ww dd rr ey tt yyy
qq sss.x1 ww dr ur te wt yyy
作者:
zongyaotang
時(shí)間:
2015-02-27 15:43
先把第二列重復(fù)的字符串找出來(lái)
然后對(duì)每個(gè)這樣的字符串找出其行號(hào)
如果能找出所有非第一次出現(xiàn)的行號(hào)
刪去這些行即可
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2