2

我有一个这样的文件(第一列的数字是行号)

30.<unit id=20>
31....
32.</unit>
33.<unit id=40?
34....
35.</unit>
36<unit id=20>
37...
38.</unit>
39.<unit id=40?
40....
41</unit>

我想在两个行号之间打印行,比如 32 和 39。我怎样才能在 Unix 中完成这个?
我是 unix 新手。注意:我不想要 perl 脚本。

4

4 回答 4

8

sed 的另一种方法:

 sed -n '32,39p' filename
于 2013-02-20T15:07:37.683 回答
1
sed -n '32,39p' input > output

请注意,这会忽略您的行号并仅打印第 32 到 39 行。如果要匹配字符串,请使用 Fredrik 提出的解决方案。

于 2013-02-20T15:07:37.940 回答
1

我想你应该试试这个

sed '32,39!d' input > output
于 2014-11-25T10:19:39.203 回答
0

采用sed

sed -n '/^32/,/^39/p' file
于 2013-02-20T15:07:11.950 回答