• ベストアンサー

sortコマンドのオプションなどの意味

シェルスクリプトに次のようなsortコマンドが出てきました。 sort -t, /export/home1/aaa -u -k 1 -o $CSV_OUTFILE/$OUTPUT_FILE \     $CSV_OUTFILE/$INPUT_FILE_AAA $CSV_OUTFILE/$INPUT_FILE_BBB (aaaとAAAとBBBは変えていますが、あとはまったくもとのままです。) 行の最後の\は行継続の意味でよろしいでしょうか。 -t の直後に "," (カンマ) がありますが、これは「(空白区切りではなくて)カンマ区切り」という意味でよろしいですか。 (-tとカンマの間に空白は要らないのでしょうか。カンマはシングルクォーテーションで囲まなくてよいのでしょうか。) /export/home1/aaa というディレクトリの指定がありますが、これはなんのためでしょうか。 -u は同一行は重ねて出力しないという意味でよろしいでしょうか。 (キーが同じ行は重ねて出力しないという意味ではないですよね?) -k 1 の意味がわかりません。(ソートするキーの指定?) インプットファイルの指定と思われるものが2つありますが、入力ファイルは複数でも構わないのでしょうか? 以上ですが、わかるものだけでも結構です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.1

manコマンドを使用して man sort とうてば説明が表示されます。 読んだ上で 1,3 2,2 3,1 なんていう中身のテストファイルを使ってテストされてはいかがでしょう。 UNIXのコマンドは実装によって挙動がことなる場合がありますから。 -kは並べ替えをするフィールドの指定です。 -k 1の場合は先頭のフィールドなので体制に影響ありません。 あとはだいたいご自分で推測されているとおりです。

noname#3122
質問者

お礼

ご回答ありがとうございました。 私の環境では以下のようでした。 -tと區切り文字の間に空白があってもなくても同じ。 區切り文字をシングルクォーテーションやダブルクォーテーションで圍っても圍わなくても同じ。 -k 1   先頭フィールドをソートのキーとする(+0と同じ。) -u   同一「行」を重ねて出力しない。

その他の回答 (1)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

manが日本語に翻訳されたJMのページがありますので、確認して下さい。

参考URL:
http://www.linux.or.jp/JM/html/GNU_textutils/man1/sort.1.html
noname#3122
質問者

お礼

ご回答ありがとうございます。

関連するQ&A