我正在處理一個需要我編輯csv文件的特定列和行的項目。我已經成功找到正確的行,獲取行號,甚至將特定的列更新爲標準輸出,但不是.csv文件。我遇到的問題是把它放在一起,並讓sed更新文件中的值。sed編輯csv文件中的特定列和行
這裏是在CSV值的一個例子:
9847,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,No,pw,Yes,SA
9848,132,3132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,No,pw,Yes,SA
9849,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,Yes,pw,Yes,SA
9850,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,Yes,pw,Yes,SA
9851,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,Yes,pw,Yes,SA
9852,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,Yes,pw,Yes,SA
9853,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,Yes,pw,Yes,SA
9854,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,Yes,pw,Yes,SA
9855,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,Yes,pw,Yes,SA
9856,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,No,pw,Yes,SA
9857,3132,132,0,168,0,410,73,4400,DC,4300,6,248,Yes,Yes,Yes,Yes,Yes,No,No,No,No,No,LSI,Service,Yes,No,Yes,pw,Yes,SA
在這個例子中,我想修改的項目編號9856的第28列是。到目前爲止,我的成功命令包括:
此命令爲我如何顯示該行提供了正確的返回值。
grep 9856 ./file.csv | awk -F, '$28="Yes"'
在這裏,我想我需要管的結果,一個sed命令,將替換更新的行現有的線,但我所有的嘗試都沒有成功!
此外,如果你可以請詳細說明你的答案爲我的學習目的。我也將在這個項目中編輯許多其他列值。
'的awk「BEGIN {FS = OFS =」, 「} $ 1 ==」 9856" {$ 28 = 「是」} 1'文件'? – Cyrus
賽勒斯,這個命令是否會更新現有的file.csv? – Konan
這不會更新文件。 – Cyrus