1 つのプログラムの複数のバージョンがあるディレクトリから最大バージョン番号を取得しようとしています
たとえば、ls の出力が
something01_1.sh
something02_0.1.2.sh
something02_0.1.sh
something02_1.1.sh
something02_1.2.sh
something02_2.0.sh
something02_2.1.sh
something02_2.3.sh
something02_3.1.2.sh
something.sh
次のように最大バージョン番号を取得しています-
ls somedir | grep some_prefix | cut -d '_' -f2 | sort -t '.' -k1 -r | head -n 1
同時に、システムに既にあるバージョン番号で確認したい場合、最善の方法は何ですか...
bashでこれが機能しました(2.5が現在のバージョンの場合)
(ls somedir | grep some_prefix | cut -d '_' -f2; echo 2.5) | sort -t '.' -k1 -r | head -n 1
それを行う他の正しい方法はありますか?
編集: 上記の例では、some_prefix は something02 です。
編集:ここでの実際の問題は
(ls smthing; echo more) | sort
パイプ用の2つのコマンド/プログラムの出力を3番目にマージするのが最善の方法ですか?