Answers:
如果必须sed
:
sed -ni '/^<tr>/p' file
-i
就地编辑文件,-n
防止sed
打印所有行,正则表达式表示匹配以(^
)开头的所有行,<tr>
这些行将被打印(p
)。
与grep
:
grep -E '^<tr>' file
使用-E
grep解释扩展的正则表达式。
与awk
:
awk '/^<tr>/' file
还是纯的bash
:
while IFS= read -r l; do [[ "$l" =~ ^\<tr\> ]] && echo $l; done <file
的[[
是bashs内部条件表达式。我们将其$l
与正则表达式进行比较,如果成功(&&
),则使用来打印行echo
。
"$l"
。而且您将其作为echo
命令行的第一个参数,因此如果以-option
。开头,则会遇到问题。(使用printf '%s\n' "$l"). Also, shell
read`具有读取一个字节-AT-A-时间,所以它的超慢的纯bash的处理文本文件通常不是一个好的选择,除非你知道你的文件是非常小的。
grep
。