相关疑难解决方法(0)

如何选择两个标记图案之间的线条,这些线条可能会出现awk/sed多次

使用awksed如何选择两种不同标记图案之间的线条?可能有多个标有这些图案的部分.

例如:假设文件包含:

abc
def1
ghi1
jkl1
mno
abc
def2
ghi2
jkl2
mno
pqr
stu
Run Code Online (Sandbox Code Playgroud)

并且起始模式是abc和结束模式是mno So,我需要输出为:

def1
ghi1
jkl1
def2
ghi2
jkl2
Run Code Online (Sandbox Code Playgroud)

我使用sed匹配模式一次:

sed -e '1,/abc/d' -e '/mno/,$d' <FILE>
Run Code Online (Sandbox Code Playgroud)

有没有办法在sedawk 反复做,直到文件的结尾?

unix shell awk sed pattern-matching

114
推荐指数
5
解决办法
14万
查看次数

如何选择两种模式之间的线?

我有类似下面的文件,我想打印给定的两个模式之间的界限PAT1PAT2.

1
2
PAT1
3    - first block
4
PAT2
5
6
PAT1
7    - second block
PAT2
8
9
PAT1
10    - third block
Run Code Online (Sandbox Code Playgroud)

我已经阅读了如何选择两个标记图案之间的线条,这些线条可能会出现awk/sed多次,但我很想看到所有可能的组合,无论是否打印图案.

如何选择两种模式之间的线?

regex shell perl awk sed

40
推荐指数
7
解决办法
4万
查看次数

打印两个模式之间的所有行,仅排他,仅第一实例(在sed,AWK或Perl中)

使用sed,AWK(或Perl),如何打印两个模式(第一个实例)之间的所有行(不包括模式)?1个

也就是说,作为输入给出:

aaa
PATTERN1
bbb
ccc
ddd
PATTERN2
eee
Run Code Online (Sandbox Code Playgroud)

甚至可能:

aaa
PATTERN1
bbb
ccc
ddd
PATTERN2
eee
fff
PATTERN1
ggg
hhh
iii
PATTERN2
jjj
Run Code Online (Sandbox Code Playgroud)

在两种情况下,我都希望:

bbb
ccc
ddd
Run Code Online (Sandbox Code Playgroud)

1张 用户的数投票决定关闭这个问题进行重复一个。最后,我提供了要点,以证明它们是不同的。问题还在于表面上类似于一个 号码 ,但没有精确匹配,和他们都不是高质量的,并且,因为我相信这一特定问题是最常见面临的一个,那么它理应明确的提法,以及一组正确,清晰的答案。

bash perl awk sed

2
推荐指数
2
解决办法
807
查看次数

标签 统计

awk ×3

sed ×3

perl ×2

shell ×2

bash ×1

pattern-matching ×1

regex ×1

unix ×1