如何在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