명령 줄에 텍스트 파일의 내용을 표시하려면 어떻게해야합니까?

명령 줄에 텍스트 파일의 내용을 표시하고 싶습니다. 파일에는 5-6 자만 포함됩니다. 이 작업을 쉽게 수행 할 수있는 방법이 있나요?

답변

cat 사용

파일이 짧기 때문에 cat 를 사용할 수 있습니다.

cat filename 

less

사용

긴 파일의 내용을 확인해야하는 경우 호출기를 사용할 수 있습니다. 예를 들면 less 입니다.

less filename 

작은 파일에서 호출 될 때 lesscat처럼 작동하도록 만들 수 있으며 그렇지 않으면 -F-X 플래그.

less -FX filename 

. 다음과 같이 직접 만들 수 있습니다.

alias aliasname="less -FX" 

셸 구성에 별칭을 추가하는 경우

alias aliasname="less -FX" 

a>, 영원히 사용할 수 있습니다.

od

사용

파일에 이상하거나 인쇄 할 수없는 문자가 포함 된 경우 od 는 문자를 검사합니다. 예 :

$ cat file (ÐZ4 ?o=÷jï $ od -c test 0000000 202 233 ( 320 K j 357 024 J 017 h Z 4 240 ? o 0000020 = 367 \n 0000023 

댓글

, 아니면 개인적인 취향에 맞게 요약 되나요?

  • @SamWeinberg : less에는 더 많은 기능이 있습니다. pg보다 기능입니다. less(1) pg(1) 맨 페이지. 다른 호출기도 있습니다. unix.stackexchange.com/questions/81129/ … 를 살펴보세요. less는 아마도 가장 널리 사용되는 호출기이지만 사용하는 호출기는 개인 취향에 따라 다릅니다.
  • don ' moremost를 잊지 마세요!
  • 답변

    모든 사람이 cat filename를 사용하여 파일 텍스트를 표준 출력으로 인쇄하더라도 첫 번째 목적은 con 고양이 cat “s man 페이지에서 :

    cat-파일을 연결하고 표준 출력에 인쇄

    이제 cat은 파일 인쇄에 적합하지만 대안이 있습니다.

     echo "$(<filename)" or printf "%s" "$(<filename)" 

    ( ) 반환 표현식의 값 (이 경우 filename 의 내용은 echo에 대해 $에 의해 확장 됨) 또는 printf.

    업데이트 :

    < filename 

    원하는대로 정확히 수행합니다. 기억하기 쉽습니다.

    다음은 메뉴에서 파일을 선택한 다음 인쇄 할 수있는 예입니다.

    #!/bin/bash select fname in *; do # Don"t forget the "" around the second part, else newlines won"t be printed printf "%s" "$(<$fname)" break done 

    추가 정보 읽기 :
    BashPitfalls-cat 파일 | sed s / foo / bar /> 파일
    Bash 참조-리디렉션

    댓글

    • 업데이트 : " < filename는 정확히 wh입니다. … "는 오해의 소지가 있습니다. 전반적으로 이것은 대안에 대한 흥미로운 논의이지만 cat가 더 간단하다고 생각합니다.
    • Bare < filename는 그렇지 않습니다. 파일의 내용을 표시하지만 cat filename는 표시합니다.
    • tee < filename도 사용할 수 있습니다.
    • echo "$(<filename)" bashism에 +1. 여기서는 충분하지 않습니다.
    • '는 echo "$(<filename)"와 함께 Linux 내부 명령을 사용하는 좋은 아이디어입니다. 감사합니다 …

    답변

    유닉스에서 텍스트 파일을 처리하는 도구는 기본적인 일상적인 명령입니다.

    Unix 및 Linux에서 전체 내용을 파일로 인쇄

    cat filename.txt 

    또는

    more filename.txt 

    또는

    less filename.txt 

    마지막 몇 줄

    tail filename.txt 

    처음 몇 줄

    head filename.txt 

    Answer

    다음 명령을 사용하여 콘텐츠를 표시 할 수 있습니다. 텍스트 파일의.

     cat filename 

    댓글

    • , man cat를 실행합니다.

    Answer

    한 가지 옵션은 more

    예를 사용하는 것입니다.more file.txt

    그러나 less에 의해 추가 된 모든 기능이있는 것은 아닙니다.
    간단한 예는 다음과 같습니다. 출력에서 위로 스크롤 할 수 없습니다. 일반적으로 less로 대체되었습니다.

    less가 더 많기 때문입니다.

    댓글

    • 이름이 적은 이유에 대한 좋은 설명

    Answer

    매우 간단하기 때문에 항상 $ less "your file here"를 사용하고 내장 된 대화 형 grep 명령으로, 화살표 키로 스크롤 할 수있는 사용하기 쉬운 인터페이스를 제공합니다.

    (거의 모든 * nix 시스템에도 포함되어 있습니다)

    Comments

    • lessmore (man lessman more와 비교) 저에게는 두 가지 성가신 기능이 있습니다. 1) 대체 화면 버퍼로 전환됩니다. 종료가 적을 때 방금보고 있던 파일이 사라집니다. 2) EOF에서 명시 적으로 q를 입력해야합니다 (알고 있습니다. '이 옵션). 따라서 새 환경에서 첫 번째 작업 중 하나는 프로필에 export PAGER=/bin/more를 설정하고 항상 more를 사용하는 것입니다.
    • @ ott– : 1) -X 플래그를 사용해보십시오. 2) -E 플래그를 사용해보십시오. less에는 more 에뮬레이션 모드가 있습니다. LESS_IS_MORE 환경 변수를 설정하여 활성화 할 수 있습니다. more 에뮬레이션 모드에서 위로 스크롤 할 수 있습니다.
    • 참조 : unix.stackexchange.com/questions / 81129 / …
    • 일반적으로 less가 지나치게 복잡한. 외부 명령을 실행하는 기능은 과도한 복잡성의 완벽한 예입니다.
    • @EvanTeitelman 저는 ' 항상 grep 기능이 매우 유용하다는 것을 알게되었습니다. @ott -'의 more 에뮬레이션과 ' 많은 추가 기능이 있기 때문에 작업을 매우 잘 수행합니다.

    답변

    큰 파일이고 특정 부분을 검색하고 싶다면

     cat filename | grep text_to_search -ni 

    또한 대화 형 Vim 편집기 (또는 Vim이없는 경우 vi 편집기)를 사용할 수 있습니다.

     vim filename Or vi filename

    Vim / vi는 훌륭한 편집기이며 “일반 모드”에서 리더로 사용하거나 -R 옵션을 사용하여 사용할 수 있습니다. 파일을 탐색하는 데 도움이됩니다.

    댓글

    • vim -R의 짧은 길이는

      . 그러나 xargs 및 vi- “입력이 터미널에서 온 것이 아닙니다.”에 설명 된대로 리디렉션을 좋아하지 않습니다.

    • 감사합니다. @manatwork 헤드 업! 최근에 Vim을 사용하기 시작했고 여러 기능 때문에 마음에 듭니다. 리디렉션에 관해서는 잊어 버렸습니다. 상기시켜 주셔서 감사합니다. 현재 저는 GUI 인터페이스없이 ssh를 사용하는 원격 VM에서 작업하고 있습니다. 따라서 Vim은 다른 GUI 편집기가 작동하지 않을 때 유용합니다. ' 여기서 Vim을 강조한 이유입니다.

    Answer

    cat 명령을 사용하여 파일 이름의 내용을 표시합니다. cat filename

    파일을 편집하려면 vim 명령을 사용하십시오. vim 파일 이름

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다