如何在unix中删除非分隔文件中的行

如何在unix中删除非分隔文件中的行,unix,grep,nawk,awk,Unix,Grep,Nawk,Awk,我想根据“客户总数”和后续单位行删除行,直到下一个名称。 “客户总计”行之后的单位行数(即30.0和15.0行)可能会有所不同,直到下一个名称。 最重要的是,文件没有分隔。 下面是我的输入文件。 输入: 我希望我的输出如下。 输出: 这可能适合您: awk '/CLIENT TOTAL/||/^[[:space:]]/{next}1' file 说明: awk ' # If line contains "CLIENT TOTAL" or starts with whitespace, sk

我想根据“客户总数”和后续单位行删除行,直到下一个名称。
“客户总计”行之后的单位行数(即30.0和15.0行)可能会有所不同,直到下一个名称。 最重要的是,文件没有分隔。 下面是我的输入文件。 输入:

我希望我的输出如下。
输出:


这可能适合您:

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

我会用这个
awk'/CLIENT TOTAL/| |/^[^[:alnum:]/{next}1'
来处理空间和选项卡。(在1`
grep-v'^[*]'文件之前不需要
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