最初の数字の後に文字列を取得する方法は?

最初の数字の後に文字列を取得する方法は?

私はthis型の文字列構造を持ってbob-type-8.2-mp2-2017-93-43-11-65-48.sprいます8.2-mp2-2017-93-43-11-65-48

これは、出力文字列に最初の数値が見つかった後にその値から削除された後のすべての文字を含める必要があることを意味します.spr

どうすればいいですか?

ベストアンサー1

この試み:

echo "bob-type-8.2-mp2-2017-93-43-11-65-48.spr" | sed 's/^[^0-9]*//;s/\.[^.]*$//'

出力は次のとおりです。

8.2-mp2-2017-93-43-11-65-48

説明する:

sedはパターンを使用してパターンを見つけs/pattern/replace_pattern/'pattern置き換えます。replace_pattern

したがって、パターンは's/^[^0-9]*//'行の先頭と最初の数字が表示される前のすべての記号を取得し、null(replace_pattern空)に置き換えます。

次のステップ - 拡張機能を削除します。同じsedパターンを使用してこれを実行できます's///'

s/\.[^.]*$//.- aで終わらない記号をすべて探し、$何もない記号に置き換えます。

;- 分割モード。

より良い理解のために、次のコマンドを使用できます。

echo "bob-type-8.2-mp2-2017-93-43-11-65-48.spr" | sed -e 's/^[^0-9]*//' -e 's/\.[^.]*$//'

おすすめ記事