删除行,如果$ 4是一个

use*_*821 2 awk sed

如果$ 4是一个,我想删除文本文件中的行

123  34  A   0
23   45  A   1  
36   5   A   36
176  3   A   1
Run Code Online (Sandbox Code Playgroud)

期望的输出

123  34  A   0
36   5   A   36
Run Code Online (Sandbox Code Playgroud)

我需要就地编辑.我怎么能用awk或sed做到这一点?

Jon*_*ler 5

awk:

awk '$4 != 1'
Run Code Online (Sandbox Code Playgroud)

它是可行的sed,但足够困难,我不打扰:

sed '/^[^ ][^ ]*  *[^ ][^ ]*  *[^ ][^ ]*  *1 *$/d'
Run Code Online (Sandbox Code Playgroud)

或者,如果你有GNU sed:

sed -r '/^[^ ]+ +[^ ]+ +[^ ]+ +1 *$/d'
Run Code Online (Sandbox Code Playgroud)