我有一個分號分隔的CSV文件看起來像這樣:如何匹配和更改分號分隔文件列中的字符串?
column1;column2;;123564;128;;IJL;value;;;;;3705;;;;;;;;
column1;column2;;26789786413423;;CCE;value value;;;;;;3705;;;;;;;;
column1;column2;;4564564;128;;SSE;value;;;;;;;;;;;;;
column1;column2;;4645646;128;;JJY;someting X;;;;;;;;;;;;;
column1;column2;;123132;128;;ASA;X value;;;;;;;;;;;;;
column1;column2;;45643123;128;;TT;9 someting;;;;;;;;;;;;;
column1;column2;;456464;128;;KK;VALUE 9 VALUE;;;;;;;;;;;;;
column1;column2;;4646;128;;ST;value 6;;;;;;;;;;;;;
column1;column2;;456464;128;;NX;7 something;;;;;;;;;;;;;
我想找到的第8列一個特定的值/串,並替換成別的東西。我遇到的問題是我無法找到一個sed或awk,只有在它完全匹配時才編輯第8列。
我想才達到這樣的事情(不工作):
awk -F";" '$8=="value" {gsub(/$8/,"column 8");print;}' infile.csv >outfile.csv
我想整列8,如果我得到的字符串「值」列8精確匹配進行編輯。所以我不希望具有「價值」或「X值」的第8列改變。
無論它是sed還是awk命令都沒關係,如果可能,我更願意直接編輯文件而不是使用輸入/輸出文件。有可能在其他列中出現匹配字符串,這就是爲什麼它也很重要我只在第8列進行搜索。
任何想法如何做到這一點?