您好我有以下文字文件= id.txt
xid: indv1000 id: indv12482
xid: SC25986 id: artf220747
xid: 1000 id: tracker4164
xid: indn1001 id: indn1028
xid: proj1234 id: proj12045
我需要从上面的文件中获取“proj12045”并将其存储到变量中。这将针对多个文本文件完成,projID可以在任何行中
这是否可以使用sed / awk
答案 0 :(得分:0)
这是第二次尝试:
awk 'match($0,/proj[0-9]{5}/){ x = substr($0,RSTART,RLENGTH) }END{ print x }'
这次你的输入是使用匹配函数筛选的,匹配函数在每行搜索字符串" proj"接着是五封信。如果匹配发生,则substr函数仅删除匹配并将其分配给变量x。程序结束后打印x。如果proj并不总是搜索到的字符串,则必须将正则表达式调整为该字符串。
答案 1 :(得分:0)
使用sed:
sed -n '/proj[0-9]*/s/.* id: //p' id.txt