내 bash 기록에 대한 완전하고 정렬된 목록을 갖고 싶습니다. 그러나 몇 가지 문제가 있습니다.
- 목록을 수행하면
history
전체 목록이 표시되지 않으며 1000개의 명령만 표시됩니다. - 내$HOME디렉토리에 이름이 있는 파일이 있습니다..bash_history 2000개의 결과를 보여줍니다.
정리하고 싶을 때.txt 내 기록을 파일로 정리합니다.
history | sort > History.txt
그러나 숫자 때문에 명령은 알파벳순으로 정렬되지 않고 숫자별로 정렬됩니다.
내가 원하는 것을 할 수 있는 방법이 있나요?
답변1
sort
사용자가 지정한 필드별로 입력을 정렬할 수 있으므로 -k
엄밀히 말하면 이와 같은 것이 찾고 있는 것입니다.
history | sort -k2 > History.txt # or -K3 if you have $HISTTIMEFORMAT, etc set
또한 명령 출력에서 사용할 수 있는 것과 history
기록된 것 사이에는 차이가 있는 경우가 많습니다 ~/.bash_history
. 후자가 모든 명령 후에 업데이트되지 않는다는 점입니다(일반적으로 로그아웃 시에만 업데이트됨). 따라서 history | sort ..
현재 보기를 제공하는 데는 를 사용하는 것이 더 좋습니다.
답변2
어떻습니까:
cat ~/.bash_history | sort > Sorted_history.txt
무제한 bash 기록을 가지려면 다음 QA를 살펴보십시오.
https://stackoverflow.com/questions/9457233/unlimited-bash-history