i有一个文件,该文件长1500行,包含CPU值,但某种程度上有0条非常第二行。是否可以删除Bash命令中仅包含0的每一行?
8
0
9
0
10
0
10
0
8
0
9
0
删除所有零
使用grep -v
:
-v, --invert-match
Selected lines are those not matching any of the specified patterns.
命令:
grep -v -e "^0$" file
问题在于它将删除行所有'0'行。
删除偶数行
awk 'NR % 2 != 0' file
在这种情况下,您必须确保所有的线都是要删除的行。
删除甚至是'0''
的行awk 'NR % 2 != 0 || ! /0/' file
如果要删除第二行,但是只有当它包含0
时,此衬里才会有所帮助:
awk '($0 == 0) && (NR % 2 == 0) { next } { print }' cpu_values.txt
这意味着,如果输入线等于0,并且是偶数线,则跳过它。否则,打印行。