基本形 行を並べ替える
sort [オプション] [ファイルのパス]
-n 数値の順に並べ替える
-r 降順・逆順に並べ替える
-k 比較開始フィールド番号[,比較終了フィールド番号]
viで並べ替えテスト用ファイル(test.txt)を作る(作っていないので!!)
sortコマンドを試してみる
オプションなしでは文字コード順に並べ替えられてしまいます
100が22の前に来て違和感がある
よって nオプションを指定する
逆順は nrオプション指定にしないといけない
指定したフィールドだけを基準に並べ替えることも可能
例えば第2フィールドから第3フィールドまでを基準に並べ替えるには
-k 2,3 と指定する
(比較終了フィールド番号を省略すると行末までが対象となる)
(フィールドの区切り文字はデフォルトで空白文字(スペースもしくはタブ))
(-tオプションでフィールド区切り文字は変更できる)
customer.txtファイルのフォーマットは「メイルアドレス:年齢:家族の人数」である
年齢を基準に並べ替える
年齢が同じ場合には家族の人数が少ない順に並べ替える
-k 2.3 と -k2 で結果は同じです!
【問題31】
customer.txt の最後の行に viで mitsuya@gmail.com:5:1 を追加してください。 p.80
以下の結果を得るためのコマンド●はどのような構成になるでしょうか
[guest@icv99 ~]$ ●●●●●●●●●●
mitsuya@gmail.com:5:1
makoto@gmail.com:21:3 ←
tanaka@gmail.com:21:2 ←
sora@sky.com:32:4
eto@gmail.com:33:3
[guest@icv99 ~]$
上記の結果は←部分に違和感があります!!
第3フィールドも数値順に並べるにはどうすればよいでしょうか
この書き方は重要です!
[guest@icv99 ~]$ ●●●●●●●●●●
mitsuya@gmail.com:5:1
tanaka@gmail.com:21:2 ←
makoto@gmail.com:21:3 ←
sora@sky.com:32:4
eto@gmail.com:33:3
[guest@icv99 ~]$
実行コマンドと実行結果をファイル
Question31.txt
に保存して、提出サーバへ送信すること。