Fedora/Redhat/CentOS에서 이 less
명령은 마법처럼 gzip으로 압축된 파일을 감지하고 즉시 압축을 푸는 것처럼 보입니다. 따라서 다음을 수행할 수 있습니다.
less my_stuff.csv.gz
방금 우분투 11에서는 작동하지 않는 것으로 나타났습니다.
less my_stuff.csv.gz
"my_stuff.csv.gz" may be a binary file. See it anyway?
CentOS VM을 조사하여 작동하게 만드는 쉘 별칭 마법이 있는지 확인했지만 없는 것 같습니다. CentOS 바이너리에 gzip 지원이 내장되어 있나요?
이것이 CentOS에서 어떻게 작동하는지 및/또는 Ubuntu에서 작동하도록 만드는 방법을 아는 사람이 있다면 감사하겠습니다.
난 내가 할 수 있다는 걸 알아요
zcat my_stuff.csv.gz | less
하지만 그렇게 하면 키보드가 더 빨리 닳게 될 거예요.
답변1
less
기본적으로 그렇게 하지 마십시오. 그러나 ~/.bashrc
기본 동작을 변경하는 기본 행이 있습니다.
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
이 줄을 제거하거나 주석을 달지 마십시오.
이를 사용하면 다음과 같이 알지 못하는 사이에 압축된 파일과 압축되지 않은 파일을 페이지로 이동할 수 있습니다.
less /var/log/dpkg.log*
로그 중 일부는 압축될 수 있고 일부는 압축되지 않은 경우가 있습니다.
를 통해 액세스한 루트 계정의 경우 sudo
동일한 작업을 수행할 수 없지만 두 가지 해결 방법이 있습니다.
sudo zless file*
sudo -E less file*
내가 사용한 첫 번째 경우에는 zless
압축되지 않은 파일에서도 작동합니다.
두 번째에는 환경 변수를 보존하고 예상한 대로 작업을 줄이는 -E
옵션을 추가했습니다.sudo
답변2
더 적은gzip으로 압축된 파일을 읽을 수 없습니다. 매뉴얼 페이지에서 확인할 수 있습니다. Ubuntu와 대부분의 배포판에는 기본적으로 다음과 같은 스크립트가 설치되어 있습니다.zless, 설명대로 작동합니다.
따라서 대답은 다음을 사용하는 것입니다.
zless my_stuff.csv.gz
Fedora와 Ubuntu의 차이점은 Fedora가 환경 변수를 설정한다는 것입니다덜 개방lesspipe를 통해 인수를 강제하려면 다음을 수행하십시오.
echo $LESSOPEN
||/usr/bin/lesspipe.sh %s
이 명령은 Ubuntu에서는 작동하지 않습니다.