2011-07-12 9 views
2

可能性の重複:
Need a Regular expression to extract 5th to 8th charactors in a string.UNIX正規表現

私は例えばのための数値と文字列があります。14150712.Mを。私はインデックス位置5から8までの数値を抽出する必要があります。例:0712私はFileNameからIst 4つの数値を削除し、次の4つの数値をカットするにはどうしたらいいですか?

+0

括弧します、sed、vim、posix re)](http://www.regular-expressions.info/index.html)? – sehe

+1

これはhttp://stackoverflow.com/questions/6661085/need-a-regular-expression-to-extract-5th-to-8th-charactors-in-a-stringとどのように違うのですか? – Kobi

答えて

1

は、この正規表現を試してみてください:

/\d{4}(\d{4})/ 

必要なデータが内部にマッチします何[正規表現の味(grepを、perlの、awkの

1

echo "14150712.M" | cut -c5-8

0

位置が固定されている場合は、バッシュのサブパラメータの拡張を使用することができますが:

A="ABCDE"; echo ${A:1:2} 

これはBCを印刷します。あなたはfor A in *; doループの例のためにこれを使用することができます。

for A in *.M; do 
    NUMID=${A:4:4} 
    echo "We extracted \"${NUMID}\" from \"${A}\"." 
done