我有一个文件看起来像:
输入:
112 1 2 01 1
000 0 0 22 0
122 2 2 22 0
我想删除每行少于 2 位数字的那些列。所以输出应该是这样的:
112 01
000 22
122 22
有什么建议吗?请注意,实际文件很大。
答案1
一种可能的方法是使用 perl:
perl -alne 'print join " ", grep { length > 1 } @F' file
答案2
您可以使用 sed (或更强大的工具,例如 awk 或 perl)来完成此操作。
例如
sed -e :loop \
-e 's/^[0-9]\{1\} //' \
-e 's/ [0-9]\{1\}$//' \
-e 's/ [0-9]\{1\} / /g' \
-e 't loop' <input >output