#!/bin/bash #replace_selected timeout=20 echo "$2" | tr "\r" "\n" | sort - exit # (以下は実行とは無関係の単なる説明) echo ' ################################################################ 選択テキストの行を昇順に並び替える。 mi 付属のものよりずっと高速(かつ高機能!) オプションでいろいろな並べ方が可能。(逆順にするなど) ################################################################ (選択テキスト($2)の改行コードは CR (Macintosh) にされてしまうので tr コマンドで LF に変換してから処理させている。) ###### sort コマンドオプション ###### オプションを追加できる。次の例のように、sort と - の間に挟む。 echo "$2" | tr "\r" "\n" | sort -n -b - あるいは、 echo "$2" | tr "\r" "\n" | sort -nb - --------比較オプション-------- -b 各行の比較の際に、行頭の空白を無視 -d 「電話帳」順。アルファベット、数字、空白以外をすべて無視 -f 大文字と小文字を同一視して比較 -i ASCII 印字可能文字以外を無視 -n 数値順(-符号、小数点も考慮される) -M 最初に現われた 3 文字を、月の名称の省略形とみなして、 JAN < FEB < ... < DEC の順でソート(小文字と大文字は同一視) -r 比較の結果を逆順にする。 -------------------------------- -u 等しいとされた行のうちの最初のものだけを残して他を削除 --------比較対象範囲オプション-------- -t <文字> -k オプション用区切り文字を与える -k a.b,c.d a 番目のフィールドの b 番目の文字から c 番目のフィールドの d 番目の文字までを 比較対象とする。フィールドはの区切り文字は -t オプションで与える。 省略記法(a,c とか a.b)も可能。 このオプションを複数与えることも可能。(更に詳細に順位を指定する) 参考:http://www-6.ibm.com/jp/developerworks/linux/030516/j_l-tiptex4.html 例:sort -t ":" -k 2,3.3 この場合、行 "abc:def:123456" の比較対象は 2番目のフィールド "def" の先頭 "d" から 3番目のフィールド "123456" の3文字目 "3" までの "def:123" になる。 ※特殊な文字をシェルに展開させないようにするため、上の様に区切り文字は 引用符で括った方がよい。 '