如何删除每行中值为零的列?

如何删除每行中值为零的列?

我有一个包含数字数据的文件。每行都有不同数量的列。在每一行中,我想删除包含 0 的列。

下面是一个示例输入

25 60 0
29 0 10
23 0
26 43 49
1 56 7 0
21 0 64 3

目标输出

25 60
29 10
23
26 43 49
1 56 7
21 64 3

答案1

使用perl:

$ perl -alne 'print join " ", grep { $_ != 0 } @F' file
25 60
29 10
23
26 43 49
1 56 7
21 64 3

答案2

尝试这个,

sed 's/ 0//g;s/^0 //g' file

25 60
29 10
23
26 43 49
1 56 7
21 64 3

它只是删除了模式0。如果输出正常,请使用 -i 选项进行内联编辑。

相关内容