読者です 読者をやめる 読者になる 読者になる

テキスト処理の備忘録

固定長ファイルを扱っていて、ファイルに本来あるべきでない非ASCII文字があり、ジョブが異常終了することがありました。その時の調査でよく使っていたコマンドのメモです。

指定したバイト長より大きな行を出力

この例では100バイトより大きな行を出力します。

$ awk 'length($0)>100 {print NR":"length($0)":"$0}' ファイル名 

ASCII以外の文字がある行を表示(該当の文字は色つきで表示)*1

$ grep --color='auto' -P -n "[\x80-\xFF]" ファイル名

指定した行を表示する(())

この例では10行目を表示します。

$ sed -n 10p ファイル名

この例では10-20行目を表示します。

$ sed -n 10,20p ファイル名

*1:grepによっては-Pをサポートしていません。サポートされていない場合の代替手段も知りたいのですが調べていないです。