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

  免費注冊 查看新帖 |

Chinaunix

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

文件內(nèi)容的比較與替換問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-11-27 21:38 |只看該作者 |倒序瀏覽
現(xiàn)有A文件內(nèi)容如下,域分割符為“:”
1:a
2:b
3:c
4:d
5:e
.
.
.

B文件的內(nèi)容如下,域分割符為“:”
1:1
2:2
3:4
4:5
5:3
.
.
.

問題:比較B文件第一個域與第二個域的內(nèi)容,如果第一域的內(nèi)容與第二個域的內(nèi)容不相等,(如:B文件的第三行3!=4),那么在A文件中找到第一域的內(nèi)容等于3的行,并將A文件的第一個域的內(nèi)容替換成B文件的第二個域的內(nèi)容(即將A文件的第三行的3替換為4)。有點亂,不知道有沒有說清楚。最終得到的A文件的內(nèi)容如下:

1:a
2:b
4:c
5:d
3:e
.
.
.
請大家多多指教

論壇徽章:
1
2015年亞洲杯之韓國
日期:2015-04-24 09:07:02
2 [報告]
發(fā)表于 2008-11-27 21:58 |只看該作者

回復(fù) #1 minix 的帖子

LZ 那兩個文件的第一個域的值是相同的?有沒有重復(fù)的呢

論壇徽章:
0
3 [報告]
發(fā)表于 2008-11-27 22:02 |只看該作者

回復(fù) #2 biglazybug 的帖子

沒有重復(fù)的

論壇徽章:
0
4 [報告]
發(fā)表于 2008-11-27 22:15 |只看該作者
你是不是要把兩個文件的第二列合并起來?
paste <(cut -d: -f2 B) <(cut -d: -f2 A)|sed 's,\t,:,'

論壇徽章:
1
2015年亞洲杯之韓國
日期:2015-04-24 09:07:02
5 [報告]
發(fā)表于 2008-11-27 22:21 |只看該作者
awk -v OFS=":" -F ":" 'FNR==NR {if($1!=$2) a[$1]=$2} FNR<NR{$1=(a[$1]?a[$1]1);print }' B A

論壇徽章:
0
6 [報告]
發(fā)表于 2008-11-27 22:24 |只看該作者
原帖由 walkerxk 于 2008-11-27 22:15 發(fā)表
你是不是要把兩個文件的第二列合并起來?
paste  


不是,先要判斷A文件的1、2列,如果不等,在把A文件的第一列用B文件的第二列替換掉,A文件與B文件的行不一定相等,要經(jīng)過判斷才替換的,謝謝

論壇徽章:
0
7 [報告]
發(fā)表于 2008-11-27 22:29 |只看該作者
原帖由 biglazybug 于 2008-11-27 22:21 發(fā)表
awk -v OFS=":" -F ":" 'FNR==NR {if($1!=$2) a[$1]=$2} FNR


非常感謝biglazybug的支持,問題終于得到了解決,非常感謝!

論壇徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辭舊歲徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
8 [報告]
發(fā)表于 2008-11-27 23:27 |只看該作者
原帖由 biglazybug 于 2008-11-27 22:21 發(fā)表
awk -v OFS=":" -F ":" 'FNR==NR {if($1!=$2) a[$1]=$2} FNR

$1=(a[$1]?a[$1]1; => if ($1 in a) $1=a[$1];

論壇徽章:
1
2015年亞洲杯之韓國
日期:2015-04-24 09:07:02
9 [報告]
發(fā)表于 2008-11-27 23:29 |只看該作者

回復(fù) #8 ynchnluiti 的帖子

嘿嘿 andy大蝦 我那么寫會出現(xiàn)什么樣的問題呢 請指教

論壇徽章:
0
10 [報告]
發(fā)表于 2008-11-27 23:44 |只看該作者

回復(fù) #9 biglazybug 的帖子

一樣的意思啊,呵呵,不過if ($1 in a) $1=a[$1]看上去更容易看懂,$1=(a[$1]?a[$1]1)這個我是想了下才弄明白的,小的才疏學(xué)淺啊,哈哈,學(xué)習(xí)ing
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(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