Csh
如何在 Cshell 中讀取和替換兩個參數文件?
我正在嘗試製作一個自動替換文本文件中單詞的腳本。
In a.v, BIRA_0 0 BIRA_1 400 BIRA_2 800 BIRA_3 C00 ... in b.v, BIRA_0[25:0] BIRA_0[95:26] BIRA_0[125:96] BIRA_0[255:125] BIRA_1[5:0] BIRA_1[25:6] ... Result, 0[25:0] 0[95:26] 0[125:96] 0[255:125] 400[5:0] 400[25:6] ...
當然,我可以使用
$sed "s/BIRA_0/0/" b.v > result
但問題是該文件
a.v
包含許多這樣的替換案例,所以我想通過 Cshell 腳本自動製作。
只要
a.v
不包含任何正則表達式特殊字元,那麼無論您使用的外殼如何,您都可以執行類似的操作awk '{printf "s/^%s/%s/\n", $1, $2}' a.v | sed -f - b.v
或者,單獨使用 awk:
awk 'NR==FNR {a[$1]=$2; next} {print a[$1] "[" $2}' a.v FS="[" b.v