我想删除基于“CLIENT TOTAL”的行和后续的单位行,直到下一个名字。
“CLIENT TOTAL”行之后的单位行数(即30.0和15.0行)可能会有所不同,直到下一个名称。
最重要的是,文件没有分隔。
以下是我的输入文件。
INPUT:
RELATIVITY/O F 32629 DT MBSA
HALL 15.0 5,850
HALL 30.0 21,650
RELATIVITY/O F 34145 DT MBSA
HALL 30.0 10,850
*CLIENT TOTAL RELATIVITY/O F 38,350
30.0 32,500
15.0 5,850
PFIZER 96607 DT MBSA
HALL 15.0 32,700
HALL 30.0 21,300
PFIZER 96609 DT MBSA
HALL 60.0 30,200
HALL 75.0 182,100
HALL 90.0 67,700
*CLIENT TOTAL PFIZER 334,000
90.0 67,700
30.0 21,300
15.0 32,700
我想要我的输出如下 输出:
RELATIVITY/O F 32629 DT MBSA
HALL 15.0 5,850
HALL 30.0 21,650
RELATIVITY/O F 34145 DT MBSA
HALL 30.0 10,850
PFIZER 96607 DT MBSA
HALL 15.0 32,700
HALL 30.0 21,300
PFIZER 96609 DT MBSA
HALL 60.0 30,200
HALL 75.0 182,100
HALL 90.0 67,700
答案 0 :(得分:1)
这可能对您有用:
awk '/CLIENT TOTAL/||/^[[:space:]]/{next}1' file
说明:
awk '
# If line contains "CLIENT TOTAL" or starts with whitespace, skip it
/CLIENT TOTAL/ || /^[[:space:]]/ { next }
# Otherwise, print it
1
' file