0
文字列まで一致したい。だから私はそれがBashパラメータの展開 - 正規表現を含むがこれに限定されない
20-30-seirotS lleT eW yhW - yrotS ruoY lleT
に減少させることにしたい
seirots-llet-ew-yhw-20-30-seirotS lleT eW yhW - yrotS ruoY lleT
のようなテキストでだから、私はbashの変数に取り込む逆転した文字列のセットを持っているとし、変数を展開したいです
入力:
seirots-llet-ew-yhw-20-30-seirotS lleT eW yhW - yrotS ruoY lleT
spets-ruoy-ecarter-30-30-spetS ruoY ecarteR - yrotS ruoY lleT
cra-yrots-40-30-crA yrotS ruoY - yrotS ruoY lleT
skcabhsalf-etaerc-50-30-skcabhsalF gnitaerC - yrotS ruoY lleT
noitnetta-60-30-noitnettA gnipeeK dna gnitteG - yrotS ruoY lleT
以下、このような何かを達成するための正規表現10
出力:
20-30-seirotS lleT eW yhW - yrotS ruoY lleT
30-30-spetS ruoY ecarteR - yrotS ruoY lleT
40-30-crA yrotS ruoY - yrotS ruoY lleT
50-30-skcabhsalF gnitaerC - yrotS ruoY lleT
60-30-noitnettA gnipeeK dna gnitteG - yrotS ruoY lleT
次のように私のbashのコードは次のとおりです。
value="${reversed##*[a-z]-[0-9]}"
をしかし、結果は私が望むものないです:
0-30-seirotS lleT eW yhW - yrotS ruoY lleT
0-30-spetS ruoY ecarteR - yrotS ruoY lleT
0-30-crA yrotS ruoY - yrotS ruoY lleT
0-30-skcabhsalF gnitaerC - yrotS ruoY lleT
0-30-noitnettA gnipeeK dna gnitteG - yrotS ruoY lleT
お知らせどのように最初の数字は省略されています。
$ s='seirots-llet-ew-yhw-20-30-seirotS lleT eW yhW - yrotS ruoY lleT'
$ echo "${s%%[0-9]*}"
seirots-llet-ew-yhw-
したがって、上記の場合、20-30-seirotS lleT eW yhW - yrotS ruoY lleT
を除去するためにマッチした文字列を得られることseirots-llet-ew-yhw-
である:
あなたは_at all_のようなものを求めているわけではありません。そして、画像ではなくテキストスニペットを投稿してください。あなたはそれを知るべきです。 –
これはあなたが欲しいものですか? 's = 'seirots-llet-ew-yhw-20-30'; echo "$ {s %% [0-9] *}" ' – Sundeep
@ Jean-FrançoisFabreテキストを追加しました – atefth