Awk
需要從與 CSV 文件中的兩個變數匹配的特定行的第 12 列列印值
考慮以下兩個變數
DC="777777" CountryCode="IN"
有一個 CSV 文件,
fileSB.csv
. 我找到了一個命令(如下)來搜尋DC
第 2 列中的CountryCode
變數名和第 4 列中的變數名。僅當兩個變數在同一行中匹配時,才會列印該特定行。現在我的要求是在使用以下命令檢測到的同一行/行中,我只想列印第 12 列中存在的值。這裡的問題是第 12 列中可以有任意數量的逗號,因此無法在第 12 列中列印值
列印與文件名中的兩個變數值匹配的行的命令
fileSB.csv
是awk -v pat1="$DC" -v pat2="$CountryCode" -F, '($2==pat1&&$4==pat2)' fileSB.csv
摘要:需要從 的逗號分隔輸出中獲取第 12 列
awk
,其中可能包含任意數量的逗號,然後是另外 10 列。
根據下面的評論,第 12 列包含可變數量的逗號分隔項,然後是 10 列。
awk -v pat1="$DC" -v pat2="$CountryCode" -F, '$2 == pat1 && $4 == pat2' fileSB.csv | cut -d, -f 12- | rev | cut -d, -f 11- | rev
cut
and呼叫將rev
首先刪除前 11 列,然後反轉數據並刪除最後 10 列(現在是反轉後的前 10 列),然後再次反轉。