![]() |
1
36
这应该可以做到:
这将包含在sec1和sec2之间匹配,然后跳过第一行和最后一行
不幸的是,您需要重复regexps来匹配分隔符。据我所知,没有比这更好的方法了。至少可以保持regexp的干净,即使它们被使用了两次。 这是改编自 SED FAQ: How do I address all the lines between RE1 and RE2, excluding the lines themselves? |
|
2
13
如果您对超出范围的行不感兴趣,但只想从问题(这就是为什么我来到这里)中得到爱荷华州/蒙大拿州示例的非包容变体,您可以用第二个sed轻松地编写“除了第一个和最后一个匹配行”子句:
就我个人而言,我发现这比同等文件更清楚(尽管在大型文件中速度较慢)
|
|
3
6
另一种方法是
摘自布鲁斯·巴内特的SED教程 http://www.grymoire.com/Unix/Sed.html#toc-uh-35a |
![]() |
4
1
你也可以用锥子
|
![]() |
5
1
我曾经用过:
这将搜索模式之间的所有行,然后打印不包含模式的所有内容。 |
![]() |
w113msh · 提取未设置脚本的变量名 1 年前 |
![]() |
deep · 分析csv文件以将详细信息添加到xml文件 1 年前 |
|
c0d3rbox · 如何在Python脚本中加载yaml文件? 1 年前 |
![]() |
Community wiki · Bash脚本创建到共享库的符号链接 1 年前 |