103.2基礎
標準入力からASCIIの小文字を受け取る。
小文字を対応する大文字へ変換して標準出力へ書く。
適切なフィルタはどれか。
× 不正解
trは標準入力の文字を変換、削除、圧縮する。2つの文字集合を指定すると、1つ目から2つ目へ対応付けて変換する。
詳細解説
誤り
tr -d '[:lower:]'小文字を変換せず削除する。
-dにより小文字そのものを取り除く。
誤り
tr '[:upper:]' '[:lower:]'大文字を小文字へ変換する逆方向の指定である。
変換元が大文字なので、要求と逆の小文字化になる。
誤り
sort -f大文字小文字を区別せず並べ替えるが、文字自体は変換しない。
比較時に大小文字を無視するだけで、入力の文字は変換しない。
正しい
tr '[:lower:]' '[:upper:]'小文字クラスの各文字を対応する大文字へ変換する。
正解。小文字集合を対応する大文字集合へ変換する。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'Linux 101
' | LC_ALL=C tr '[:lower:]' '[:upper:]'期待される結果
LINUX 101理解のポイント
- trは標準入力を処理する
- 文字クラスで集合を指定できる
- -dは文字を削除する
確認時の注意
- 確認環境: GNU coreutils 9.x / Cロケール
基礎のおさらい
文字単位の処理
trは単語や正規表現ではなく、文字の集合を単位として処理する。
ロケール
文字クラスの範囲はロケールの影響を受ける。ASCIIだけを前提にする検証ではLC_ALL=Cで固定できる。
問題IDKP-103-035
確認環境GNU coreutils 9.x / Cロケール
最終技術確認2026-08-12
誤り・権利侵害を報告