![](/img/trans.png)
[英]How to replace specific section of text in a file, with text from url in bash?
[英]How to Replace Names in Column of a Text File, Using a Conversion Present in Another Text File With Bash
我進行了搜索,其他帖子都不適合我的情況。 基本上,我有一個很長的主文本文件,看起來像這樣:
Group1 0 100
Group2 100 200
Group3 200 300
Group4 300 400
等..
我需要替換主文本文件中的名稱,使用另一個列出它們應該轉換成什么的文本文件。 該轉換文本文件如下所示:
Group1 Team1
Group2 Team2
Group3 Team2
Group4 Team3
因此,通過使用腳本,我想將主文本文件轉換為:
Team1 0 100
Team2 100 200
Team2 200 300
Team3 300 400
同樣,這些都是大文件,而且它們的長度不同。 任何幫助深表感謝!
將轉換列表讀入數組,然后用它替換原文件中的第一個字段:
awk 'NR == FNR { a[$1] = $2; next } { $1 = a[$1] } 1' conversion.txt original.txt
NR == FNR
條件以第一個文件為目標(總行數等於文件行數)next
跳過腳本的其余部分並轉到下一行1
是一個始終為真的條件,因此默認操作{ print }
如果要確保存在替換,可以在第二個操作塊之前$1 in a
添加條件$1 in a
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.