レンダリングされない文字を含む文字列に対してgrepを実行する

レンダリングされない文字を含む文字列に対してgrepを実行する

そのため、WindowsのNotepad ++で検索できるlog.txtファイルがありますが、その数が多すぎてgrepを実行できるようにしたいと思います。ただし、データはレンダリングされない文字で書式設定されており、それをgrepに含める方法がわかりません。 Notepad ++は黒いRSで表示されます。データは同様の形式なので、[RS]value1[RS]value2value1とvalue2を見つけるにはgrepを使用できる必要があります。この形式は、これらのファイル全体で変更されません。

grepでこれを検索するにはどうすればよいですか?使用できるエスケープシーケンス形式はありますか?それとも、この非レンダリング文字の存在を検索しvalue1て完全に無視する必要がありますか?value2

答え1

あなたの[RS] =レコード区切り記号[1]はい記録区切り記号文字ASCII 30 0x1E

この知識を使用して実行できますgrep(注釈で提案されているように)。または、より一般的に使用するには、$'\x1e'または一致する文字クラスを使用できます。[^[:print:]][[:cntrl:]]

関連情報