1. ホーム
  2. バッシュ

[解決済み】UNIXシェルスクリプトでリストから一意または明確な値を選択する

2022-04-15 11:52:25

質問

改行で区切られた長い値のリストを返すkshスクリプトがあるのですが、ユニークな値/区別できる値だけを表示したいのです。これを行うことは可能ですか?

例えば、私の出力がディレクトリ内のファイルの接尾辞であるとします。

tar
gz
java
gz
java
tar
class
class

みたいなリストが欲しいです。

tar
gz
java
class

解決方法は?

を見たくなるかもしれません。 uniqsort のアプリケーションで使用することができます。

./yourscript.ksh | ソート | ユニック

(参考までに、そうです、このコマンドラインではsortが必要なのです。 uniq は、直後の重複した行を削除するだけです)

EDITです。

の投稿に反して アーロン・ディギュラ に関連して uniq のコマンドラインオプションを使用します。

次のような入力があった場合。

クラス
ジャー
ジャー
ジャー
ビン
ビン
ジャワ

uniq は、すべての行を正確に一度だけ出力します。

クラス
ジャー
ビン
ジャワ

uniq -d は、複数回出現する行をすべて一度だけ出力します。

ジャー
ビン

uniq -u は、ちょうど一度だけ現れる行をすべて出力します。

クラス
ジャワ