1.03.2基礎
records.txtを1000行ごとの複数ファイルへ分割する。
出力ファイル名の接頭辞をpart-にする。
適切なコマンドはどれか。
× 不正解
split -l N INPUT PREFIXは入力をN行単位に分け、PREFIXへ接尾辞を付けた複数ファイルを作る。
詳細解説
誤り
split -b 1000 records.txt part-1000バイト単位で分割する。
誤り。可変長の行を1000バイトで切ると行途中で分割される場合があり、1000行条件ではない。
正しい
split -l 1000 records.txt part-1000行単位で分割し、part-から始まる出力名を作る。
正しい。-l 1000が行数単位を指定し、最後のpart-が出力ファイル名の接頭辞になる。
誤り
head -n 1000 records.txt part-先頭1000行を表示する構文で、複数出力へ分割しない。
誤り。headは先頭の1部分しか出さず、残りを別ファイルへ分割して保持しない。
誤り
cut -l 1000 records.txt part-cutに行数分割用の-lオプションはない。
誤り。cutに-lによる行分割機能はなく、列抽出用のコマンドである。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp -d); seq 1 5 >"$tmp/in"; split -l 2 "$tmp/in" "$tmp/part-"; wc -l "$tmp"/part-*; rm -rf "$tmp"期待される結果
2行、2行、1行の3ファイル理解のポイント
- -lはlines
- -bはbytes
- prefixは出力名
確認時の注意
- 確認環境: GNU coreutils 9.x / 一時ファイル
基礎のおさらい
出力接尾辞
既定ではaa、abのような接尾辞が付き、-dなどで数字接尾辞へ変更できる。
再結合
順序どおりの分割ファイルをcat part-*で連結すれば元のバイト列へ戻せる。
問題IDKL-101-461
確認環境GNU coreutils 9.x / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告