파일에서 2자리 미만의 열을 제거하는 방법은 무엇입니까?

파일에서 2자리 미만의 열을 제거하는 방법은 무엇입니까?

다음과 같은 파일이 있습니다.

입력하다:

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

관련 정보