次のファイルがあります。
入力する:
112 1 2 01 1
000 0 0 22 0
122 2 2 22 0
1行あたり2桁未満の列を削除したいと思います。したがって、出力は次のようになります。
112 01
000 22
122 22
どんな提案がありますか?実際のファイルの容量がかなり大きいので注意してください。
答え1
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