2017-01-16 20 views
0

からSED/awkのを使用して変数に文字列こんにちは、私は下のテキストファイルを持っている=店舗txtファイル

xid: indv1000 id: indv12482 
xid: SC25986 id: artf220747 
xid: 1000 id: tracker4164 
xid: indn1001 id: indn1028 
xid: proj1234 id: proj12045 

id.txt私は上記のファイルおよびストアから「proj12045」をフェッチする必要があります変数に変換する。

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

この時間、あなたの入力は次のとおりです。そして、ここではこれを可能に使用してSED/awkの

+1

あなたがこれまでに試してみましたか?あなたが作成したコードですか?エラーメッセージはありますか?あなたの期待される成果はどれですか? –

+0

@JoseRicardoBustosM。私はsed/awkに関するアイデアを持っていません。ちょうどtxtファイルを解析して文字列を取得する方法やロジックが必要です –

答えて

0

が第二の試みである。これは、複数のテキストファイルに対して行われますとprojIDは、任意の行に

することができ文字列 "proj"とそれに続く5文字をそれぞれの行で検索しているmatch関数を使ってスクリーンされます。一致した場合、substr関数は一致のみを切り捨て、変数xに代入します。プログラムが終了すると、xが印刷されます。 projが常に検索された文字列でない場合は、その正規表現を調整する必要があります。 SEDで

+0

"proj12045"、この変更は他のテキストファイル –

+0

ok、これはproj12045のファイルからの変更です。 2番目のファイルにこれらのIDのリストがありますか?あなたはそれらを知らないのですか? – JFS31

+0

これはプロセスです、私はさまざまな入力のこれらのテキストフィールドを作成するフォークリフトバイナリを持っています。したがって、IDは変更されます –

0

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

ありがとうこれも動作します –