亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 急啊,這個(gè)shell怎們寫啊 [打印本頁]

作者: wzltian    時(shí)間: 2014-05-23 00:39
標(biāo)題: 急啊,這個(gè)shell怎們寫啊

如果b.txt中的姓名這一列不在a.txt第二列中,則把b.txt中的這一行追加到a.txt中
a.txt
日期   姓名 號碼
20140101|aaa|7
20140101|aab|8
20140101|aac|7
20140101|aad|2


b.txt
日期   
20140302|aaa|1
20140201|bbc|3
20140201|bbb|3
20140401|aad|4

結(jié)果如下:
20140101|aaa|7
20140101|aab|8
20140101|aac|7
20140101|aad|2
20140201|bbc|3
20140401|bbb|3
作者: q1208c    時(shí)間: 2014-05-23 08:30
直接把兩個(gè)文件合并去重不就行了?
作者: asdf2110    時(shí)間: 2014-05-23 08:43
  1. hero@hero-VirtualBox:~/gettext$ cat a.txt
  2. 20140101|aaa|7
  3. 20140101|aab|8
  4. 20140101|aac|7
  5. 20140101|aad|2
  6. hero@hero-VirtualBox:~/gettext$ cat b.txt
  7. 20140302|aaa|1
  8. 20140201|bbc|3
  9. 20140201|bbb|3
  10. 20140401|aad|4
  11. hero@hero-VirtualBox:~/gettext$ cat a.txt b.txt | awk -F"|" '!a[$2]++'
  12. 20140101|aaa|7
  13. 20140101|aab|8
  14. 20140101|aac|7
  15. 20140101|aad|2
  16. 20140201|bbc|3
  17. 20140201|bbb|3
  18. hero@hero-VirtualBox:~/gettext$
復(fù)制代碼
回復(fù) 1# wzltian


   
作者: yestreenstars    時(shí)間: 2014-05-23 08:58
樓上正解~{:2_172:}
作者: Shell_HAT    時(shí)間: 2014-05-23 09:59
  1. awk 'BEGIN{FS=OFS="|"}NR==FNR{a[$2]=$0;print}NR>FNR{if(!a[$2])print}' a.txt b.txt
復(fù)制代碼

作者: seesea2517    時(shí)間: 2014-05-23 14:30
回復(fù) 1# wzltian

來晚了,來個(gè)不一樣的:
  1. [seesea@UC ~]$ head a.txt b.txt
  2. ==> a.txt <==
  3. 20140101|aaa|7
  4. 20140101|aab|8
  5. 20140101|aac|7
  6. 20140101|aad|2

  7. ==> b.txt <==
  8. 20140302|aaa|1
  9. 20140201|bbc|3
  10. 20140201|bbb|3
  11. 20140401|aad|4
  12. [seesea@UC ~]$ grep -vf <(cut -d'|' -f2 a.txt) b.txt >> a.txt
  13. [seesea@UC ~]$ cat a.txt
  14. 20140101|aaa|7
  15. 20140101|aab|8
  16. 20140101|aac|7
  17. 20140101|aad|2
  18. 20140201|bbc|3
  19. 20140201|bbb|3
復(fù)制代碼

作者: wzltian    時(shí)間: 2014-05-23 17:36
這里高手多啊,寫出來的這么牛!
作者: wzltian    時(shí)間: 2014-05-23 17:38
回復(fù) 5# Shell_HAT

謝謝啊,請教下,如果我的內(nèi)存比較小,比如只有1G,但上面a.txt 和b.txt 加起來有2g,會(huì)不會(huì)溢出?


   
作者: wzltian    時(shí)間: 2014-05-23 17:39
回復(fù) 3# asdf2110

謝謝啊, 因?yàn)榛A(chǔ)知識(shí)太弱
請教下,如果我的內(nèi)存比較小,比如只有1G,但上面a.txt 和b.txt 加起來有2g,會(huì)不會(huì)溢出啊?   
作者: asdf2110    時(shí)間: 2014-05-23 17:44
沒關(guān)系, 有虛存呢

回復(fù) 11# wzltian


   
作者: Shell_HAT    時(shí)間: 2014-05-23 17:46
回復(fù) 10# wzltian


    試試就知道啦
作者: wzltian    時(shí)間: 2014-05-23 18:14
回復(fù) 13# Shell_HAT


    好的,謝謝了
作者: prcardin    時(shí)間: 2014-05-26 17:51
思路真多,思考的角度不一樣,途徑就不一樣
作者: fantingftt123    時(shí)間: 2014-05-27 22:52
回復(fù) 5# Shell_HAT
lz, 你寫的這個(gè)命令不是太明白,awk 'BEGIN{FS=OFS="|"}NR==FNR{a[$2]=$0;print}NR>FNR{if(!a[$2])print}' a.txt b.txt 標(biāo)有顏色的這塊不是太明白,lz能否細(xì)說下。


   
作者: Shell_HAT    時(shí)間: 2014-05-27 23:08
回復(fù) 16# fantingftt123


NR==FNR{a[$2]=$0;print}   處理a.txt
NR>FNR{if(!a[$2])print}      處理b.txt
作者: wzltian    時(shí)間: 2014-06-04 18:06
真是厲害啊,如果數(shù)據(jù)量大了,還有優(yōu)化的空間嗎? 怎么優(yōu)化語句呢?
作者: wzltian    時(shí)間: 2014-06-04 18:06
真是厲害啊,如果數(shù)據(jù)量大了,還有優(yōu)化的空間嗎? 怎么優(yōu)化語句呢?




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2