テキスト処理の備忘録
※ はてなブログから引っ越しました(2019/10/21)
固定長ファイルを扱っていて、ファイルに本来あるべきでない非ASCII文字があり、ジョブが異常終了することがありました。その時の調査でよく使っていたコマンドのメモです。
指定したバイト長より大きな行を出力
この例では100バイトより大きな行を出力します。
$ awk 'length($0)>100 {print NR":"length($0)":"$0}' ファイル名
ASCII以外の文字がある行を表示
該当の文字は色つきで表示。grepによっては-Pをサポートしていません。サポートされていない場合の代替手段も知りたいのですが調べていないです。
$ grep --color='auto' -P -n "[\x80-\xFF]" ファイル名
指定した行を表示する
この例では10行目を表示します。
$ sed -n 10p ファイル名
この例では10-20行目を表示します。
$ sed -n 10,20p ファイル名