テキストストリーム
-CentOS- | -Ubuntu-

ファイル内容を並べて表示する

「sort」コマンド

書式
sort [オプション] ファイル
主なオプション名 説明
-t”記号” 指定した記号を区切り文字として扱う(既定はスペース、タブ)
-k 列1[,列2…] 指定した列を基準に並べ替える。
-r 降順(z→A、9→0)で並べ替える(既定は昇順)
-n 基準列を数値として扱う。
ファイル 表示するファイルを指定する。

sortコマンドの実行

ファイルを参照して、どのように並べ替えられるかを比較する。

$ cat sort.txt
2:fukuoka:50
3:hokkaido:70
4:osaka:90
5:tokyo:20

$ sort -t”:” -k 3 -r sort.txt
4:osaka:90 -1-
3:hokkaido:70 -1-
2:fukuoka:50 -1-
5:tokyo:20 -1-
1:aichi:100 -1-
  1. [:]を区切り文字として扱い、3列目を基準に降順で並べ替えて表示する。

-nオプションをつけて実行する

sortコマンドは、既定で基準列を文字として扱う。数値と認識させて、並べ替えたいときは-nオプションをつけて実行する。

$  sort -t”:” -k 3 -r -n sort.txt
1:aichi:100 -1-
4:osaka:90 -1-
3:hokkaido:70 -1-
2:fukuoka:50 -1-
5:tokyo:20 -1-

  1. 数字の100を一番大きな数値として並べ替える。

 

ファイルを行単位で結合して表示する

「uniq」コマンド

書式
uniq [オプション] ファイル
主なオプション名 説明
-c 重複している数を表示する。
ファイル 表示するファイルを指定する。

uniqコマンドの実行

ファイルを参照して、どのように結合するかを比較する。

$ cat uniq.txt
aaa
bbb
bbb
ccc
ccc
ddd
eee
ccc

$ uniq uniq.txt
aaa
bbb
ccc
ddd
eee
ccc -1-
  1. uniqコマンドは隣接行しか比較しないので[ccc]が残る。

重複行をなくして表示する

$ sort uniq.txt | uniq
aaa
bbb
ccc
ddd
eee

 

参照元情報

LinuCレベル1 合格教本
LinuCレベル1 合格教本