如何在文本块中找到特定的数字并打印以关键字开头并以?结尾的完整文本块?基本上这是我的文件的样子:"BEGIN""END"
BEGIN
A: abc
B: 12345
C: def
END
BEGIN
A: xyz
B: 56789
C: abc
END
BEGIN
A: ghi
B: 56712
C: pqr
END
[...]
Run Code Online (Sandbox Code Playgroud)
如果我在寻找'^B: 567',我想得到这个输出:
BEGIN
A: xyz
B: 56789
C: abc
END
BEGIN
A: ghi
B: 56712
C: pqr
END
Run Code Online (Sandbox Code Playgroud)
我可以在这里使用grep(grep -E -B2 -A2 "^B: 567" file),但我希望得到一个更通用的解决方案.我想awk或sed可能会这样做!?
谢谢!:)
我正在尝试使用过滤*.ics文件sed.该*.ics文件如下所示:
[...]
BEGIN:VEVENT
UID:0xfoo
SUMMARY:foo
DTSTART:20131212T090000
DTEND:20131212T100000
SEQUENCE:0
DTSTAMP:20131212T100000
LOCATION:foo
CATEGORIES:foo
DESCRIPTION:foo
CLASS:PUBLIC
END:VEVENT
[...]
Run Code Online (Sandbox Code Playgroud)
我想删除例如用UID或开始的行SEQUENCE,但仅限于它们之间 BEGIN:VEVENT和END:VEVENT
我尝试删除这些行:
sed '/^BEGIN:VEVENT/,/^END:VEVENT/ /^UID/d'
Run Code Online (Sandbox Code Playgroud)
但它只会返回一个错误,例如 unknown command '/'
如何删除这些行?
谢谢!