シェルスクリプトでbashで試しているシンプルなテキストファイルがありますが、問題のある行がいくつか残っています。二重引用符で囲まれたキャリッジリターンを削除する
与えられた数のフィールドがあり、フィールドの1つはフリーフォーム入力です。
自由形式のフィールドには、二重引用符で囲んで、削除したいキャリッジリターンがあります。
形式は次のようになります。
"0001","Barker","Bob","Free Form Text Here"
"0002","Barker","Jane", "Free Form
Text Here"
私は運では、次の3つのソリューションを試してみた:
tr '\r\n' ''
//は、すべてのキャリッジがsed –e 's/\".*\n"//g'
// doesnのを返す削除awk -v RS='"[^"]*"' -v ORS= '{gsub(/\n/, " ", RT); print $0 RT}'
//コンマのみ返します。
私が間違っている可能性のあるアイデアはありますか?私は解決策として、sed
またはawk
を使用すると問題ありません。
ジョブ。 *利用可能なCSVパーサーがある言語(Python、Perl、Rubyなど)を使用してください。 – chepner