質問

私のスクリプトは、(#は数字で、TYPEは、2つまたは3つの文字である)フォームのR番号のTYPE.TXTにファイル名を取ります。 私は私のスクリプトは私にTYPEを与えたいです。私はそれを得るために何をすべき?私がAWKを使用してsedをする必要があります推測します。

私は、/ bin / shを使っています(要件である)

役に立ちましたか?

解決

あなたはawkの

を使用することができます
$ echo R1CcC.TXT | awk '{sub(/.*[0-9]/,"");sub(".TXT","")}{print}'
CcC

または

$ echo R1CcC.TXT | awk '{gsub(/.*[0-9]|\.TXT$/,"");print}'
CcC

とsedの場合は本当に何をしたい。

$ echo R9XXX.TXT | sed 's/R[0-9]\(.*\)\.TXT/\1/'
XXX

他のヒント

私は、これはあなたが探しているものだと思います。

$ echo R3cf.txt | sed "s/.[0-9]\(.*\)\..*/\1/"

cf
TXTが常にある場合は、

アッパーケースとファイル名は、常にあなたのような何かができるRで始まります。

$ echo R3cf.txt | sed "s/R[0-9]\(.*\)\.TXT/\1/"
あなたのbin/shが何であるかシェルによっては、単にシェルを(使用することができます:

f=R9ABC.TXT
f="${f%.TXT}"       # remove the extension
type="${f#R[0-9]}"  # remove the first bit
echo "$type"        # ==> ABC
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top