我输入了浮点序列:
0.44491 0.068512 0.00086731 0.19827 0.10896 0.00021067
现在我把正则表达式写成's/\(\([[:digit:]]\+.[[:digit:]]\+\)[[:space:]]\+\)\{6\}/\2/p'
我想知道如何在这个序列中引用第二个实例,以便它匹配0.068512
?
使用powershell,我可以完成以下任务:
$ (gc $file | sls "(([0-9]+.[0-9]+)\s+){6}" -AllMatches).Matches.Groups[2].Captures[1].Value }
所以我在寻找相当于sed。中的“Captures [1]”。
答案 0 :(得分:2)
使用sed,您可以尝试
var=1;echo '0.44491 0.068512 0.00086731 0.19827 0.10896 0.00021067' | sed -E 's/([^[:blank:]]*[[:blank:]]*){'"$var"'}([^[:blank:]]*).*/\2/'
var = 1来抓住第二个
答案 1 :(得分:0)
您可以使用awk '{print $2}' filename
。
可以找到关于awk
的一点解释here。