輸入更換一次報價GSUB沒事
aaaa, bbbb, ccc, "dddd, ddd1", eee
eee, fff, ggg, hhh
我覺得gsub
應該這樣做,但如何告訴用什麼來取代「只有這樣,如果「在所有行中只有一次(有時發生錯誤)。
輸入更換一次報價GSUB沒事
aaaa, bbbb, ccc, "dddd, ddd1", eee
eee, fff, ggg, hhh
我覺得gsub
應該這樣做,但如何告訴用什麼來取代「只有這樣,如果「在所有行中只有一次(有時發生錯誤)。
這應該這樣做:
awk -F'"' 'NF==2{sub(/"/,"")}7' file
你可以試試awk命令下面,
$ awk '/^[^"]*"[^"]*$/{sub(/"/,"")}1' file
aaaa, bbbb, ccc, "dddd, ddd1", eee
eee, fff, ggg, hhh
的搜索模式^[^"]*"[^"]*$
其中有且只有一個"
報價行相匹配。刪除該行的雙引號將會給你想要的結果。 sub
函數足以從行中刪除單個字符。
如果有3個引號會怎麼樣? – 2014-09-10 08:59:12
@Jidder OP只詢問**一次** case。上面的單行是解決OP的問題。它有3個引號,解決方案將無法工作。 – Kent 2014-09-10 09:18:31
@Jidder我不明白你爲什麼我的命令會刪除'''如果一行中有三個?如果有3''','NF == 2'會是'false',或者我錯了嗎? – Kent 2014-09-10 10:19:16