103.2標準
sample.txtの改行がLFかCRLFかをバイト単位で調べる。
オフセット表示を省き、各バイトを16進数で表示する。
適切なコマンドはどれか。
× 不正解
odはファイルを指定形式でダンプする。-Anはオフセットを省略し、-t x1は1バイト単位の16進表記を選ぶ。
詳細解説
誤り
cat sample.txt文字として表示するため、CRとLFのバイト値を確実に識別できない。
端末上ではCRが見えにくく、バイト値の判定には不足する。
誤り
wc -c sample.txt総バイト数だけを表示し、各バイトの値は分からない。
ファイル全体のサイズだけでCRLFの位置や値は分からない。
誤り
od -An -t c sample.txt文字表現で確認できるが、要件の16進数表示ではない。
-t cは文字またはエスケープ表現で、16進数という指定を満たさない。
正しい
od -An -t x1 sample.txtオフセットを省き、1バイト単位の16進数で内容を表示する。
正解。41 0d 0aのように各バイト値を16進数で確認できる。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'A
' | od -An -t x1期待される結果
41 0d 0a(先頭の空白幅は環境により異なる)理解のポイント
- CRは0d、LFは0a
- -Anはアドレス欄を省く
- x1は1バイトの16進表示
確認時の注意
- 確認環境: GNU coreutils 9.x
基礎のおさらい
CRLF
Windows型改行はCRの0dとLFの0aが連続する。Unix型改行は通常LFの0aだけである。
型指定
odの-tではxが16進、oが8進、dが符号付き10進、cが文字表現を表す。
問題IDKP-103-039
確認環境GNU coreutils 9.x
最終技術確認2026-08-12
誤り・権利侵害を報告