最初の if テストはパラメータ $1 を見て、そのパラメータが '-f' の場合に何かを行います。その何かは、次のように評価される「ソート」呼び出しで同じパラメーターを使用しています。
sort -r -t, -k5 -f > sorted.csv
これは、ソートして sorted.csv に保存したいファイル コンテンツをスクリプトにパイプする必要があるため、ハングします。ハングしたときは、いつでもcsvファイルの内容を入力してCTRL-Dで終了できると思います:-)。「-f」は、私のマシンでフォールドケースソートを行います。
ファイル名を渡すことを意図していた場合:
if [ $# -gt 1 ]
then
if [ $1 = "-f" ]
then
# assume $2 not a control switch for sort but a file name
sort -r -t, -k5 $2 > sorted.csv
fi
fi
if [ $# -eq 1 ]
then
# assume $1 not a control switch for sort but a file name
sort -r -t, -k5 $1
fi