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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4123 | 回復(fù): 15
打印 上一主題 下一主題

[文本處理] shell 找出2個文件里不同的內(nèi)容? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-08-11 11:36 |只看該作者 |倒序瀏覽
有 A 、B 2個文檔,A 550 帳號, B 480個帳號; 其中A 里的帳號是包含B文檔里的帳號的。2個文檔帳號都是亂序的,現(xiàn)在怎么能找出2個文檔中不同的帳號,也就是找出a中b沒有的?

分別使用  grep comm awk 怎么實現(xiàn), 我試了 grep comm 沒有成功。

論壇徽章:
95
程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
2 [報告]
發(fā)表于 2015-08-11 11:46 |只看該作者
本帖最后由 MMMIX 于 2015-08-11 12:31 編輯

回復(fù) 1# ppjer


    grep -vf B A

論壇徽章:
20
卯兔
日期:2015-01-26 22:05:142015亞冠之薩濟拖拉機
日期:2015-09-10 15:15:282015亞冠之阿爾希拉爾
日期:2015-09-25 17:37:53程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-03 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-09 06:20:00CU十四周年紀(jì)念徽章
日期:2015-12-17 09:07:15程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-25 06:20:34程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-25 06:20:34程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-25 06:20:342015亞冠之廣州富力
日期:2015-08-27 19:29:56每日論壇發(fā)貼之星
日期:2015-08-26 06:20:002015亞冠之阿爾希拉爾
日期:2015-05-18 17:26:27
3 [報告]
發(fā)表于 2015-08-11 12:29 |只看該作者
回復(fù) 1# ppjer
  1. awk 'FNR==NR{a[$0];next}!($0 in a)' b a
  2. grep -vFf b a
復(fù)制代碼

論壇徽章:
0
4 [報告]
發(fā)表于 2015-08-11 13:43 |只看該作者
回復(fù) 2# MMMIX

大;卮饐栴},真是榮幸,給了我很大的動力。

論壇徽章:
0
5 [報告]
發(fā)表于 2015-08-11 13:59 |只看該作者
回復(fù) 3# songyc_2015

AWK 神器。
awk 'FNR==NR{a[$0];next}!($0 in a)' B A
有2點不明白:
1)FNR==NR ,F(xiàn)NR:當(dāng)前文件中的記錄號;NR:到目前為止記錄數(shù) 為什么要寫成 FNR==NR, 是做為條件嗎?
2)還有next 函數(shù),滿足條件后,讀入一下行并從開頭執(zhí)行腳本,這個不解?為什么要使用next?

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀(jì)念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀(jì)念章
日期:2022-04-24 14:33:24
6 [報告]
發(fā)表于 2015-08-11 14:02 |只看該作者
  1. grep -vxFf a b
復(fù)制代碼
  1. grep -vxFf b a
復(fù)制代碼

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀(jì)念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀(jì)念章
日期:2022-04-24 14:33:24
7 [報告]
發(fā)表于 2015-08-11 14:03 |只看該作者
回復(fù) 5# ppjer


滿足 FNR==NR 的情況下:處理第一個文件
不滿足 FNR==NR 的情況下:處理第二個文件

論壇徽章:
7
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-09 06:20:00每日論壇發(fā)貼之星
日期:2015-08-09 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-22 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-27 06:20:00
8 [報告]
發(fā)表于 2015-08-11 14:09 |只看該作者
1)FNR==NR ,F(xiàn)NR:當(dāng)前文件中的記錄號;NR:到目前為止記錄數(shù) 為什么要寫成 FNR==NR, 是做為條件嗎?
  1. [unar@localhost ~]$ awk '{print "FNR = "FNR " but NR = "NR}' 1 2
  2. FNR = 1 but NR = 1
  3. FNR = 2 but NR = 2
  4. FNR = 3 but NR = 3
  5. FNR = 1 but NR = 4
  6. FNR = 2 but NR = 5
  7. FNR = 3 but NR = 6
復(fù)制代碼
可以看到多個文件,F(xiàn)NR是個算各的。NR是累計的。所以NR==FNR可以用作判斷是不是第一個文件

2)還有next 函數(shù),滿足條件后,讀入一下行并從開頭執(zhí)行腳本,這個不解?為什么要使用next?
你的理解是對的,我感覺加不加都一樣。可能是我們漏考慮了什么特殊情況吧

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀(jì)念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀(jì)念章
日期:2022-04-24 14:33:24
9 [報告]
發(fā)表于 2015-08-11 14:28 |只看該作者
回復(fù) 8# tuyajie


    next的目的是FNR==NR成立的情況下不去執(zhí)行右邊的代碼

論壇徽章:
7
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-09 06:20:00每日論壇發(fā)貼之星
日期:2015-08-09 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-22 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-27 06:20:00
10 [報告]
發(fā)表于 2015-08-11 14:30 |只看該作者
我猜是這樣的。但是我試了去掉也是可以的,所以就不理解了回復(fù) 9# Shell_HAT
  1. [unar@localhost ~]$ cat 1
  2. a
  3. b
  4. c
  5. [unar@localhost ~]$ cat 2
  6. b
  7. d
  8. a
  9. [unar@localhost ~]$ awk 'FNR==NR{a[$0]}!($0 in a)' 1 2
  10. d
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP