2017-02-07 6 views
1

私はversion1.txtやversion99.txtのような名前のフォルダにファイルを持っています。私は、GNUユーティリティがインストールされているWindowsのボックスにあり、コマンドプロンプトからこれを実行しています。現在、私の出力は次のようになります。シェルスクリプトと正規表現を使用してファイル名からバージョン番号を読み取る方法

コマンド:dir | grep version

結果:私はそれがこのケースでは数12を返すようにしたい12/08/2016 04:50 PM 0 version12.txt

バージョン12にマッチする正規表現を書いたことがありますが(12匹と一致する必要がありますが)、sedを使って読み込む方法はわかりません(awkは利用できません)。

dir | grep version | sed "/version[0-9]{2}|version[0-9]/g"

はどのようにして唯一のバージョン番号を表示するのですか?これは私がしようとしていますものですか

答えて

1

あなたはバージョン番号を抽出するためにawkの代わりgrepを使用することができます。

dir | awk '/version/{gsub(/[^0-9]+/, "", $NF); print $NF}' 

12 

ます。またsedを使用することができます。ここでは

dir | sed 's/.* version\|\..*//g' 
+0

私は質問に述べたように、私はこのサーバでawkを利用できません。 – Jake

+0

ok 'sed'の代わりに私の更新答えを試してください – anubhava

0

はgrepの要件を削除するシンプルな代替手段です。

dir /b version*.txt | sed 's/[^0-9]*//g' 
関連する問題