可能重复:
Need a Regular expression to extract 5th to 8th charactors in a string.
我有一个数字值的字符串,例如:14150712.M;我需要从索引位置5到8中提取数字。例如:0712如何从FileName中删除Ist四个数字并删除接下来的四个数字?
答案 0 :(得分:1)
echo "14150712.M" | cut -c5-8
答案 1 :(得分:1)
试试这个正则表达式:
/\d{4}(\d{4})/
所需数据将在括号内匹配
答案 2 :(得分:0)
如果位置是固定的,你可以使用Bash的子串参数扩展:
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