2010-09-01 324 views
1

如何匹配以單詞ADDRESS 開頭的所有行,第二個字符串以abc字符開頭。sed +匹配行中的第一個單詞和以abc開頭的第二個單詞

句話 - (我需要的SED語法在我的shell腳本結合)

例如

more file 

ADDRESS abc1a (match) 
ADDRESS abc1b (match) 
ADDRESS acb1a (will not match) 
ADRESS abc (will not match) 
ADDRESS abc2a (will match) 
ADDRES abc1a (will not match) 
ADDRESS ab (will not match) 

回答

1

不是一個sed的答案,但是這是你要求的明確翻譯:

awk '$1 == "ADDRESS" && substr($2,0,3) == "abc"' 
1

爲什麼不只是做:

grep '^ADDRESS abc' input_file 
1
sed -n '/^ADDRESS[ \t]*abc/p' file 

我建議你下次向我們展示你的代碼,因爲我相信你已經非常熟悉ksh/sed/awk等。

+0

的sed -n '/ [\ t] *詳細地址[\ t] * ABC/P' 文件(我糾正這種如果我在開始行到ADDRESS之間的行中有空格) – lidia 2010-09-01 13:52:05

+2

您可能需要'\ +'而不是'*'作爲空格,以確保至少有一個 – 2010-09-01 14:16:30

相關問題