라인 번호가 없는 Bash 기록
더시배.history
명령어는 매우 멋집니다.행 번호가 표시되는 이유는 이해합니다만, history 명령을 실행하고 행 번호를 억제할 수 있는 방법이 있습니까?
여기서 요점은 history 명령을 사용하는 것이므로 회신하지 마십시오.cat ~/.bash_history
전류 출력:
529 man history
530 ls
531 ll
532 clear
533 cd ~
534 history
원하는 출력:
man history
ls
ll
clear
cd ~
history
훌륭한 솔루션을 제공해 주신 모든 분들께 감사드립니다.폴즈는 가장 단순하며, 제 바시 히스토리 사이즈가 2000으로 정해져 있기 때문에 저를 위해 일할 것입니다.
오늘 아침에 찾은 멋진 기사도 공유하고 싶었습니다.중복 항목을 bash 기록에서 제외하고 여러 bash 세션이 기록 파일을 덮어쓰지 않도록 하는 등 현재 사용 중인 몇 가지 좋은 옵션이 있습니다. http://blog.macromates.com/2008/working-with-history-in-bash/
사용해 보십시오.
$ history | cut -c 8-
awk
도움이 될 수 있음:
history|awk '{$1="";print substr($0,2)}'
bash 대신 zshist로 전환할 의향이 있다면 zsh는 이를 기본적으로 지원합니다(또한 기록 형식 지정을 위한 다른 옵션).
zsh> fc -ln 0
(https://serverfault.com/questions/114988/removing-history-or-line-numbers-from-zsh-history-file) 참조)
history -w /dev/stdout
에서의 history --help
:
-w 현재 기록을 기록 파일에 씁니다.
파일에 - 지정된에파기씁록니다./dev/stdout
이 경우에는
저는 이번 건에 늦었지만, 더 짧은 방법은 당신의 웹사이트에 다음을 추가하는 것입니다.~/.bashrc
또는~/.profile
파일 이름:
HISTTIMEFORMAT="$(echo -e '\r\e[K')"
쉬에서배에서.manpage
:
HIST 시간 형식이 변수가 null이 아닌 설정된 경우 해당 값이 다음과 같이 사용됩니다.연관된 타임스탬프를 인쇄할 strftime(3)의 형식 문자열각 기록 항목이 내장된 기록으로 표시됩니다.한다면이 변수가 설정되고 타임스탬프가 기록에 기록됩니다.파일을 저장하여 셸 세션 전체에서 보존할 수 있습니다.이 기능은 다음과 같습니다.타임스탬프를 구분하는 기록 설명 문자다른 역사적 기록들.
"를 캐리지 리턴 return)으로 됩니다.\r
을 삭제하고 code)을 합니다.K
실제 타임스탬프 대신 ).
또는 sed를 사용할 수 있습니다.
history | sed 's/^[ ]*[0-9]\+[ ]*//'
별칭을 사용하여 이를 표준으로 설정할 수 있습니다(bash_profile에 저장).
alias history="history | sed 's/^[ ]*[0-9]\+[ ]*//'"
비록 그것으로 자르긴 했지만.-c
옵션은 대부분의 실용적인 목적으로 작동합니다, 저는 파이프 이력을 awk로 하는 것이 더 나은 해결책이 될 것이라고 생각합니다.예:
history | awk '{ $1=""; print }'
OR
history | awk '{ $1=""; print $0 }'
이 두 솔루션 모두 동일한 작업을 수행합니다.역사의 결과물이 어색하게 흘러가고 있습니다.그런 다음 Awk는 히스토리 명령 출력의 숫자에 해당하는 첫 번째 열을 공백으로 표시합니다.여기서 hawk는 출력의 숫자 부분에 있는 문자 수에 대해 걱정할 필요가 없기 때문에 더 편리합니다.
print $0
는 와동합다니등다에 합니다.print
기본값은 라인에 표시되는 모든 항목을 인쇄하는 것이기 때문입니다.자치 기타를 합니다.print $0
더 명시적이지만 어느 것을 선택할지는 사용자에게 달려 있습니다. print $0
간단히 간히말면하단.print
awk와 함께 사용할 때 awk를 사용하여 파일을 인쇄했다면 더 분명합니다.cat
awk 대신 입력하는 것이 빠르겠지만, 이것은 요점을 설명하기 위한 것입니다.)
[예] awk를 사용하여 $0의 파일 내용 표시
$ awk '{print $0}' /tmp/hello-world.txt
Hello World!
[예] 명시적 $0 없이 awk를 사용하여 파일 내용 표시
$ awk '{print}' /tmp/hello-world.txt
Hello World!
[예] 히스토리 라인이 여러 줄에 걸쳐 있을 때 awk 사용
$ history
11 clear
12 echo "In word processing and desktop publishing, a hard return or paragraph break indicates a new paragraph, to be distinguished from the soft return at the end of a line internal to a paragraph. This distinction allows word wrap to automatically re-flow text as it is edited, without losing paragraph breaks. The software may apply vertical whitespace or indenting at paragraph breaks, depending on the selected style."
$ history | awk ' $1=""; {print}'
clear
echo "In word processing and desktop publishing, a hard return or paragraph break indicates a new paragraph, to be distinguished from the soft return at the end of a line internal to a paragraph. This distinction allows word wrap to automatically re-flow text as it is edited, without losing paragraph breaks. The software may apply vertical whitespace or indenting at paragraph breaks, depending on the selected style."
history
명령에 줄 번호를 표시하지 않는 옵션이 없습니다.모든 사용자가 제안하는 것처럼 여러 명령을 결합해야 합니다.
예:
history | cut -d' ' -f4- | sed 's/^ \(.*$\)/\1/g'
$ hh -n
(옵션) 메트릭 기반 순서를 사용하여 Bash 기록을 "상자 유형"으로 필터링할 수 있는 https://github.com/dvorka/hstr 을 사용해 보십시오. 즉, 순방향과 역방향 모두에서 훨씬 더 효율적이고 빠릅니다.
에 쉽게 결합할 수 있습니다.
명령을 사용할 수 있습니다.cut
해결 방법:
STDIN 또는 파일에서 필드를 잘라냅니다.
첫: STDIN 각자행음의 16를라잘다니냅처의.
cut -c 1-16
파일의 각: 된파자각줄에처음서일다 16를잘니라냅의지.
cut -c 1-16 file
행의 세: 행의세번문째자끝터모까것잘다라니냅을든지각부▁cut다thing니▁every.
cut -c3-
콜론을 필드 구분 기호로 사용하여 각 줄의 다섯 번째 필드를 잘라냅니다(기본 구분 기호는 탭).
cut -d':' -f5
세미콜론을 구분 기호로 사용하여 각 줄의 두 번째 및 열 번째 필드를 잘라냅니다.
cut -d';' -f2,10
공백을 구분 기호로 사용하여 각 줄의 필드 3-7을 잘라냅니다.
cut -d' ' -f3-7
제가 파티에 늦었다는 것은 알지만 이것이 기억하기에 훨씬 더 쉽습니다.
cat ~/.bash_history
줄 번호가 없는 내역을 파일로 보내고 나중에 참조할 수 있도록 하려면 아래를 참조하십시오.
history | sed 's/^[ ]*[0-9]\+[ ]*//' >>history.txt
위의 명령은 기록의 내용을 기록이라는 텍스트 파일로 읽습니다.그러면 프로젝트를 진행하면서 다른 버전을 사용할 수 있습니다.
bash 스크립트를 실행할 때 자동화를 간소화하는 데 도움이 되기 때문에 좋습니다(윙크).
언급URL : https://stackoverflow.com/questions/7110119/bash-history-without-line-numbers
'source' 카테고리의 다른 글
ng-model과 ng-bind의 차이점은 무엇입니까? (0) | 2023.05.17 |
---|---|
오류 오류:스위치에 지정되지 않은 이름 특성을 가진 양식 제어를 위한 값 접근자가 없습니다. (0) | 2023.05.17 |
스위프트에서 if문과 함께 범위 연산자를 사용할 수 있습니까? (0) | 2023.05.17 |
스택 패널의 패딩? (0) | 2023.05.17 |
Xcode에서 빌드 타이밍을 활성화하는 방법은 무엇입니까? (0) | 2023.05.17 |