我有兩個包含表格數據的變量。現在,var1有一個字段已損壞。所以我需要通過映射它與保存它的映射的另一個變量來糾正它。比較兩個變量的列,並使用awk或join進行替換
這裏在var1
第二列已損壞。 映射到從腐敗中恢復是存在於var2
。
現在我需要從var2中檢查var1的第2列的正確值並將其替換爲結果。
VAR1的內容:VAR2的
NODE 080e4441a6 1 BLA ENABLED BLA1 BLA2 WORKING
NODE 18628c2a24 1 BLA ENABLED BLA1 BLA2 WORKING
NODE 35c0ae9c35 1 BLA ENABLED BLA1 BLA2 WORKING
NODE 5c9dc20a1a 1 BLA ENABLED BLA1 BLA2 WORKING
NODE 7881cdedf6 1 BLA ENABLED BLA1 BLA2 WORKING
NODE 79587f053e 1 BLA ENABLED BLA1 BLA2 WORKING
NODE 859384e0cd 1 BLA ENABLED BLA1 BLA2 WORKING
NODE 8d996c83fe 1 BLA ENABLED BLA1 BLA2 WORKING
NODE 9a0fbe4290 1 BLA ENABLED BLA1 BLA2 WORKING
NODE XXX-19 1 BLA ENABLED BLA1 BLA2 WORKING
NODE YYY-20 2 BLA ENABLED BLA1 BLA2 WORKING
NODE bb2839f328 1 BLA ENABLED BLA1 BLA2 WORKING
NODE e0e440c477 1 BLA ENABLED BLA1 BLA2 WORKING
NODE ef21a2de3e 1 BLA ENABLED BLA1 BLA2 WORKING
內容:
18628c2a24 AREA-26
e0e440c477 AREA-21
YYY-20 YYY-20
XXX-19 XXX-19
8d996c83fe AREA-24
bb2839f328 AREA-22
9a0fbe4290 AREA-23
35c0ae9c35 AREA-25
ef21a2de3e AREA-27
7881cdedf6 AREA-32
080e4441a6 AREA-28
79587f053e AREA-30
5c9dc20a1a AREA-31
859384e0cd AREA-29
期望的結果:
NODE AREA-28 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-26 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-25 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-31 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-32 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-30 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-29 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-24 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-23 1 BLA ENABLED BLA1 BLA2 WORKING
NODE XXX-19 1 BLA ENABLED BLA1 BLA2 WORKING
NODE YYY-20 2 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-22 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-21 1 BLA ENABLED BLA1 BLA2 WORKING
NODE AREA-27 1 BLA ENABLED BLA1 BLA2 WORKING
我想是這樣的:但沒有幫助。
awk 'NR==FNR{a[$1]=$2;next} ($2 in a){ gsub($2,$1)}1' <(echo "$var1") <(echo "$var2")
第一場爲何在變量? – 123
它們是兩個不同命令的輸出。 – monk