正则表达式,我怎样才能抓住第一行输出?

时间:2010-11-06 02:47:07

标签: regex unix

我的输出有超过1行,所以我试图匹配行尾的换行符,然后只有1次最大出现。我正在尝试这样的事情:^$output*\n$\{,1\}但这并没有真正成功。

2 个答案:

答案 0 :(得分:3)

您可以使用Unix实用程序head

获取第一行输出

head -1

答案 1 :(得分:2)

用什么语言?在sed:sed -e 's/:/!/g' -e '1q' /etc/passwd第二个命令意味着“退出第1行”。

在perl中,您可以使用m标记将一个长多行字符串视为多行,然后$将匹配第一个换行符。

在awk中,您可以将行号作为条件的一部分:awk '/.../ && NR == 1 { print }',也可以在第一行后退出:awk '/.../ { print } { exit }'

使用grep,您可以使用head head -1 file | grep pattern限制文件,或使用grep -c 1 pattern file...限制第一个匹配