2017-01-16 96 views
0

您好我有下面的文本文件= id.txt存储一个字符串转换为变量使用SED/AWK从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

+1

你尝试过这么远吗?你生成的任何代码?任何错误消息?你的预期产出是哪一个? –

+0

@JoseRicardoBustosM。我没有关于sed/awk的任何想法,我只需要命令或逻辑如何解析txt文件并获取字符串 –

回答

0

这里是第二次尝试:

awk 'match($0,/proj[0-9]{5}/){ x = substr($0,RSTART,RLENGTH) }END{ print x }' 

这个时候你的输入使用匹配函数进行筛选,在每行中搜索字符串“proj”后跟五个字母。如果匹配发生,substr函数只切出匹配并将其分配给变量x。程序结束后,x被打印出来。如果proj并不总是搜索的字符串,你必须调整正则表达式。

+0

“proj12045”,这在其他文本文件中的更改 –

+0

好吧,这样proj12045从文件更改。你在第二个文件中有这些ID的列表吗?你不知道它们吗? – JFS31

+0

这是一个过程,我有一个叉车二进制文件,为不同的输入创建这些文本字段。所以ID将会改变 –

0

随着SED:

sed -n '/proj[0-9]*/s/.* id: //p' id.txt 
+0

感谢这也工作 –

相关问题