bash 기록의 완전하고 알파벳순으로 정렬된 .txt 파일 만들기

bash 기록의 완전하고 알파벳순으로 정렬된 .txt 파일 만들기

내 bash 기록에 대한 완전하고 정렬된 목록을 갖고 싶습니다. 그러나 몇 가지 문제가 있습니다.

  1. 목록을 수행하면 history전체 목록이 표시되지 않으며 1000개의 명령만 표시됩니다.
  2. $HOME디렉토리에 이름이 있는 파일이 있습니다..bash_history 2000개의 결과를 보여줍니다.
  3. 정리하고 싶을 때.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

관련 정보