명령줄에서 sql.gz 파일을 일반 텍스트 SQL로 보려면 어떻게 해야 합니까?

명령줄에서 sql.gz 파일을 일반 텍스트 SQL로 보려면 어떻게 해야 합니까?

명령줄에서 sql.gz 파일을 일반 텍스트 SQL로 보려면 어떻게 해야 합니까?

.sql.gz서버의 명령줄에서 파일에 저장된 SQL 문을 읽고 싶습니다 . 나는 그것을 시도 tar -xzvf했지만 tar: This does not look like a tar archive. cat압축되었기 때문에 가비지를 반환합니다.

답변1

gunzip -c <filename> | less

또는

zcat <filename> | less

답변2

zcat file.sql.gz파일을 stdout으로 출력한 다음 grepor more또는 less등과 결합할 수 있습니다.

답변3

여러 번, 아마도 이 경우에는 그냥 평범한 것이 less옳은 일을 할 것입니다. 이것은 less전처리기 라는 것을 사용합니다 . 그러니

less file.sql.gz

이는 실제로 파일을 일반 텍스트로 파일 시스템에 기록하는 것이 아니라 보는 즐거움을 위한 것이지만 대부분의 경우 그것으로 충분합니다. 저는 개인적으로 less전처리기가 매우 유용하다고 생각합니다. 여러 명령을 기억할 필요가 없어졌습니다. 적어도 데비안에서는 전처리기가 적습니다 /usr/bin/lesspipe. 이것은 쉘 스크립트입니다. 이 위치는 환경 변수 LESSOPEN의 값을 확인하여 찾을 수 있습니다. 예를 들어

echo $LESSOPEN
|/usr/bin/lesspipe %s

gzip 압축 텍스트 파일에 대해서만 이 스크립트의 관련 부분은 다음과 같습니다.

                 # Note that this is out of alpha order so that we don't catch
                    # the gzipped tar files.
                    *.gz|*.z|*.dz)
                            gzip -dc "$1" ;;

이것은 lessDebian wheezy의 버전 444-4입니다.

관련 정보