【发布时间】:2019-10-25 20:22:46
【问题描述】:
我一直在尝试提出一个 sed 命令,该命令将从文件中由空行分隔的文本块中提取某些行。文本块如下。
# cat test_file.txt
line 1
line 2
line 3
line 4
line 5
line 1
line 2
line 3
line 4
line 5
line 1
line 2
line 3
line 4
line 5
我正在尝试从每个块中提取第 2 行和第 4 行,以便输出如下所示。
line 2
line 4
line 2
line 4
line 2
line 4
我想出了一种方法来使用 sed 处理第一块文本:
# sed -n -e 2p -e 4p test_flie.txt
line 2
line 4
但一直无法找到一种方法让它继续处理每个文本块,直到文件末尾。任何指针将不胜感激。
【问题讨论】:
-
sed 用于对单个字符串进行简单替换,也就是说,对于任何其他文本操作,首先要考虑的工具是 awk。
标签: awk sed file-manipulation