文字が表示されるまで、タブ、改行、キャリッジリターンを削除します。

文字が表示されるまで、タブ、改行、キャリッジリターンを削除します。

レコード区切り文字が..のCSVファイルがあります,\n。列の1つに、削除したいタブと新しい行を含めることができます。\t\n\rレコード区切り文字が表示されるまで、これらの文字()をどのように使用および/または削除できますか?sedawk

答え1

ここにあります:

cat input_file | tr -d '\r\t' | sed ': loop_start; /,$/b; N; s/\n//; b loop_start'

説明する:

  1. tr-d()全体\rと文字を削除するために使用されます\t
  2. その後、sedループ(: loop_start; ...; b loop_start)と
  3. すべての行(N)を連結して
  4. 改行文字の削除( s/\n//)
  5. レコード区切り記号(/,$/)が見つかるまで
  6. b次の入力行でスクリプトを再起動するスクリプトの終わり()に分岐します。

関連情報