逆引きUNIXコマンド/指定したフィールドでソートする方法・sort -k
の編集
Top
/
逆引きUNIXコマンド
/
指定したフィールドでソートする方法・sort -k
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * 指定したフィールドでソートする方法・sort -k [#i401550d] sortコマンドの-kオプションを利用することにより、指定したフィールドでソートすることができます。~ 以下にフィールドを指定してsortする方法を以下に記します。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * sort -k にてフィールドを指定してsort [#u6866b0b] 以下のファイルを使用してフィールド指定によるsortを行ってみます。 #ref(flower.txt) sakura@ubuntu:~$ cat flower.txt sakura 10 100 tsubaki 20 300 suzuran 30 50 ajisai 40 150 bara 50 200 kiku 60 300 himawari 70 250 ** -k フィールド番号,[フィールド番号] [#zdb46084] sortの-kオプションによりフィールドを指定しsortすることができます。~ 構文は以下のようになります。 sort -k フィールド番号1[,フィールド番号2] フィールド番号1に指定したフィールドからフィールド番号2に指定した範囲のフィールドをキーとしてソートします。 ** 1つのフィールドを指定しソートしてみる [#kb1a7c0d] 上記のflower.txtの2つ目のフィールドで逆順ソートしてみます。~ オプション-kで2番めのフィールドから2番目のフィールド(つまり2番めのフィールドのみ)として-rオプションをつけて逆順ソートしています。 sakura@ubuntu:~$ sort -k 2,2 -r flower.txt himawari 70 250 kiku 60 300 bara 50 200 ajisai 40 150 suzuran 30 50 tsubaki 20 300 sakura 10 100 * CSVファイルのソート [#o622a1a7] 上記のflower.txtと同様の内容でカンマ区切りのcsvで同様のソートをしてみます。 #ref(flower.csv) sakura@ubuntu:~$ cat flower.csv sakura,10,100 tsubaki,20,300 suzuran,30,50 ajisai,40,150 bara,50,200 kiku,60,300 himawari,70,250 ** セパレータを指定してsort -kを実行 [#v495ba3e] オプション-tを利用することによりセパレータを指定できます。~ オプション-rも指定し逆順ソートとしています。 今回はCSVなので、-tでカンマを指定しています。~ sakura@ubuntu:~$ sort -r -t , -k 2,2 flower.csv himawari,70,250 kiku,60,300 bara,50,200 ajisai,40,150 suzuran,30,50 tsubaki,20,300 sakura,10,100 以上、sortコマンドで指定したフィールドでソートする方法でした。 #htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * 指定したフィールドでソートする方法・sort -k [#i401550d] sortコマンドの-kオプションを利用することにより、指定したフィールドでソートすることができます。~ 以下にフィールドを指定してsortする方法を以下に記します。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * sort -k にてフィールドを指定してsort [#u6866b0b] 以下のファイルを使用してフィールド指定によるsortを行ってみます。 #ref(flower.txt) sakura@ubuntu:~$ cat flower.txt sakura 10 100 tsubaki 20 300 suzuran 30 50 ajisai 40 150 bara 50 200 kiku 60 300 himawari 70 250 ** -k フィールド番号,[フィールド番号] [#zdb46084] sortの-kオプションによりフィールドを指定しsortすることができます。~ 構文は以下のようになります。 sort -k フィールド番号1[,フィールド番号2] フィールド番号1に指定したフィールドからフィールド番号2に指定した範囲のフィールドをキーとしてソートします。 ** 1つのフィールドを指定しソートしてみる [#kb1a7c0d] 上記のflower.txtの2つ目のフィールドで逆順ソートしてみます。~ オプション-kで2番めのフィールドから2番目のフィールド(つまり2番めのフィールドのみ)として-rオプションをつけて逆順ソートしています。 sakura@ubuntu:~$ sort -k 2,2 -r flower.txt himawari 70 250 kiku 60 300 bara 50 200 ajisai 40 150 suzuran 30 50 tsubaki 20 300 sakura 10 100 * CSVファイルのソート [#o622a1a7] 上記のflower.txtと同様の内容でカンマ区切りのcsvで同様のソートをしてみます。 #ref(flower.csv) sakura@ubuntu:~$ cat flower.csv sakura,10,100 tsubaki,20,300 suzuran,30,50 ajisai,40,150 bara,50,200 kiku,60,300 himawari,70,250 ** セパレータを指定してsort -kを実行 [#v495ba3e] オプション-tを利用することによりセパレータを指定できます。~ オプション-rも指定し逆順ソートとしています。 今回はCSVなので、-tでカンマを指定しています。~ sakura@ubuntu:~$ sort -r -t , -k 2,2 flower.csv himawari,70,250 kiku,60,300 bara,50,200 ajisai,40,150 suzuran,30,50 tsubaki,20,300 sakura,10,100 以上、sortコマンドで指定したフィールドでソートする方法でした。 #htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
テキスト整形のルールを表示する
添付ファイル:
flower.csv
513件
[
詳細
]
flower.txt
530件
[
詳細
]