1
4
我可以用Perl解决这个问题:
如果你需要的话,把它翻译成awk应该很容易。 它是如何工作的?
|
2
3
对于AWK,一个选项是将RS设置为“Name:”,并使用忽略第一条记录
|
3
2
去掉第一列。每隔三行连接一次。与sed的想法相同:
其他内容:
或者,如果您想根据第一个字段“内存”打印ORS(请注意,此程序可能在不打印终止ORS的情况下结束):
其他内容:
|
4
1
这可能适用于您(GNU sed):
总的来说,sed程序处理缩进的行、已聚集的行(除非当前行是文件的第一行)和非缩进的行。
关闭隐式打印并启用扩展regexp(
如果当前行缩进,请删除缩进、第一个字段和后面的任何空格,将结果追加到保留空格,如果不是最后一行,则将其删除。 否则,请检查收集行的保留空间,如果找到,请用逗号替换一个或多个空白并打印结果。然后通过删除第一个字段和任何后续空格来准备当前行,并用结果替换保留空格。 从逻辑上讲,这个解决方案似乎是前后颠倒的,但这种风格的编程避免了多次检查文件结尾以及调用标签和gotos。 注意:此解决方案适用于任意数量的缩进行。 |
5
1
这里有一个红宝石可以做到这一点:
优点是这不取决于行的数量或字段的数量。它正在解析以下形式的块中的数据:
工作方式如下:
|
batman · 如何用特定模式grep特定行及其子网行? 2 年前 |
nickcrv06 · 在两个常量字符串之间提取单词 2 年前 |
Shin · 格雷普。来自文本文件的js URL 2 年前 |
Term Grecos · 在空格处从数组输出时,Bash字符串被切断 2 年前 |
jojo · 用正则表达式搜索,但仅用sed替换字符串的一部分 2 年前 |
David Gall · 查找在特定日期从特定计算机登录的所有用户 2 年前 |
mles · 如何从unzip-l的输出中grep特定路径 6 年前 |
LDAsh · 使用正则表达式返回通配符(重复行) 6 年前 |