2017-01-16 95 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

感謝這也工作 –

相關問題