フィールドに侵入するために必要な乱雑なテキストデータを定期的に操作する必要があります。awkにデータの改行を無視させるにはどうすればよいですか?
私はフィールドセパレータとしてバックスペース(10進数008)を使用し、型付きファイルには表示されないのでレコードセパレータとして削除(10進127)を使用しています。
私はすべての方法で分割するプログラムを手に入れることができますが、awkも使いたいです。それはRS=<delete>
を受け入れますが、私は欲しくない改行のレコードも破ります。
明らかに、改行をある種のシーケンスで置き換えて元に戻すことはできますが、これを行うにはより滑らかな方法がありますか?
入力例と希望の結果を追加してください。推測するにはあまりにも多くの作業。 – dawg
あなたが理解していない質問には答えないでください。私は手書き入力データファイルには表示されないので、区切り文字としてバックスペースと削除文字を使用しています。簡単なテストについては、以下を試してみてください。 猫>テスト B C D 電子グラム F 時間私は これは、3つのフィールドそれぞれに3つのレコードを作成 - 最後のフィールドを改行を含むべきです。しかし、試してみると、awk '{FS = "\ 010"} {RS = "\ 177"} {OFS = ""} {ORS = "\ n"} {print NR " - " NF " $ 0} 'test 私はそれがあなたが見るものではないことを保証します。 –
@ jas、ほとんどの通常の文字に設定されていると、awkは改行で改行しません。しかし、これは正常ではありません。観察していることが起こっていないことを人々に伝える前に、行動のテストや研究をすることをお勧めします。 –