명령 줄에 텍스트 파일의 내용을 표시하고 싶습니다. 파일에는 5-6 자만 포함됩니다. 이 작업을 쉽게 수행 할 수있는 방법이 있나요?
답변
cat
사용
파일이 짧기 때문에 cat
를 사용할 수 있습니다.
cat filename
less
사용
긴 파일의 내용을 확인해야하는 경우 호출기를 사용할 수 있습니다. 예를 들면 less
입니다.
less filename
작은 파일에서 호출 될 때 less
가 cat
처럼 작동하도록 만들 수 있으며 그렇지 않으면 -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
댓글
, 아니면 개인적인 취향에 맞게 요약 되나요?
less
에는 더 많은 기능이 있습니다. pg
보다 기능입니다. less(1)
및 pg(1)
맨 페이지. 다른 호출기도 있습니다. unix.stackexchange.com/questions/81129/ … 를 살펴보세요. less
는 아마도 가장 널리 사용되는 호출기이지만 사용하는 호출기는 개인 취향에 따라 다릅니다. more
및 most
를 잊지 마세요! 답변
모든 사람이 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
-
less
는more
(man less
를man 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 파일 이름
sed -n l file
가 유용 할 수 있습니다.less
는 와 같은 다른 호출기 프로그램에 비해 분명한 이점이 있습니까? div id = “74946564d2″>