나는 이러한 bash 기능을 가지고 있습니다
filter_history(){
grep -v '^cd[^ ]|^ls[^ ]'
}
get_clean_bash_history(){
cat "$HOME/.bash_history" | filter_history
}
bash 기록을 얻으려고 하는데 cd
및 ...와 같은 지루한 명령을 필터링 ls
하지만 grep 표현식이 작동하지 않습니다. 이유를 아는 사람이 있습니까?
답변1
grep과 함께 사용하려면 -E 플래그가 필요한 것 같습니다. 이는 작동하는 것 같습니다.
grep -v -E '^cd +|^ls +'
하지만 이것이 충분하지 않거나 극단적인 경우에 실패하면 수정해 주세요.
답변2
당신은 탈출해야합니다 or
:
function get_clean_bash_history(){
grep -v '^cd \|^ls ' "$HOME/.bash_history"
}