2010-09-01 325 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

相关问题