2016-07-25 29 views
-2

Dies ist mein Eingang:Komma zwischen den Anführungszeichen nur in einer durch Kommas getrennte Datei entfernen

"a","b","c","d",",","f" 

Erwartete Ausgabe:

"a","b","c","d","","f" 

Grundsätzlich für jeden "," auftreten, mag ich es mit "" ersetzen. Auch ich möchte den Befehl für n Anzahl der Zeilen für n Anzahl der Felder ausführen.

I der unten angegebenen Befehl

awk -F '"' -v OFS = '' '{for (i = 2; i = < NF; i + = 2) gsub (" versucht haben, "" “, $ i)} 1' infile

aber es entfernt auch doppelte Anführungszeichen, aber das ist nicht das, was ich benötige ... benötige ich doppelte Anführungszeichen auch

+3

Stapelüberlauf ist keine "Stellen Sie Ihre Frage und erhalten Sie Code" -Seite ... Bitte zeigen Sie uns, was Sie bisher versucht haben. – Seth

+3

[Was haben Sie bisher versucht?] (Http://whathaveyoutried.com) Bitte bearbeiten Sie Ihre Frage, um eine [mcve] des Codes zu zeigen, dass Sie Probleme haben, dann können wir versuchen, zu helfen mit dem spezifischen Problem. Sie sollten auch [fragen] lesen. –

+0

@Seth Ich habe versucht, unten Befehl, aber es reformiert doppelte Anführungszeichen und ich möchte es nicht entfernen .. awk -F '"' -V OFS = '' '{für (i = 2; i <= NF; i + = 2) gsub (",", "", $ i)} 1 'infile –

Antwort

1

Sie können versuchen, diese

echo '"a","b","c","d",",","f"' | sed 's/,",",/,"",/g' 
0

Vielleicht diese wor ks:

echo '"a","b","c","d",",","f"' | awk '{sub(/\42,\42,\42/,"\42,\42\42")}1' 
"a","b","c","d","","f"