
-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-
- [:]を区切り文字として扱い、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-
- 数字の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-
- uniqコマンドは隣接行しか比較しないので[ccc]が残る。
重複行をなくして表示する
$ sort uniq.txt | uniq
aaa
bbb
ccc
ddd
eee
参照元情報