コンピュータ実習 6/14解答

問題

  1. コマンドsortを使って,~aa091048/data2.txtの2列目をフィールドとして,そこの数字の小さい順に並べ替えて,/tmp/の下に<自分の学籍番号>.txtというファイルとして残すにはどうするか?
    (注 ファイル名は,学籍番号を大小記号で囲むこと)
  2. tarファイル(~aa091048/quiz.tar)にファイルがいくつ含まれているか調べたい.どのようにするか?
    (不必要なファイルの作成はしないこと)

解答

  1. $ sort -nk 2 ~aa091048/data2.txt > /tmp/\<自分の学籍番号\>.txt
    今回読み込むファイルでは区切り文字としてタブとスペースが混在しているが,区切り文字を指定せずフィールド指定を行うことで対処することができる.
    sortはデフォルトで,空白文字列を区切りとして用いて動作するためである.これはman sortで確認できる.
    書き込みファイル名に大小記号のような特殊な文字を用いる場合は,回答のようにバックスラッシュ文字を用いるか,"/tmp/<自分の学籍番号>.txt"や'/tmp/<自分の学籍番号>.txt'のように書き込み先を囲む必要がある.

  2. tarコマンドのtfオプションを用いて調べたいファイルの構成要素を出力し,wcコマンドで数える.
    $ tar -tf ~aa091048/quiz.tar | wc -l
      3 

まとめ

満点5点からの減点方式。問題文はよく読みましょう

クイズや授業についての質問があればメールで。書式には要注意。