【发布时间】:2020-05-26 22:58:39
【问题描述】:
我在一个文件中有以下文本。从这里如果搜索“Fileset”,需要得到输出直到第二个“N”。我曾尝试使用 awk 和 sed,但无法按预期获得输出。
Job: name=jobname JobType=66 level= Priority=10 Enabled=1
MaxJobs=1 Resched=0 Times=0 Interval=1,800 Spool=0 WritePartAfterJob=1
Accurate=0
--> Client: Name=clientname Enabled=1 Address=XXXXXX FDport=9102 MaxJobs=1
JobRetention=14 days FileRetention=14 days AutoPrune=1
--> Catalog: name=MyCatalog address=*None* DBport=0 db_name=bacula
db_driver=*None* db_user=bacula MutliDBConn=0
-->Fileset: name=test_host
O MZof
N
I /u01
N
从上面,只需要得到下面的输出。
Fileset: name=test_host
O MZof
N
I /u01
N
尝试以下命令
awk '/Fileset:/ {flag=1;next} /N/{flag=0} flag {print}' file
Fileset 是模式 /N/ 是结束标志
【问题讨论】:
-
从示例输入看起来您也可以只打印来自
Fileset:行的所有内容?如果没有,最好在最后添加一些行 -
为什么不只是
grep -A4 Fileset?