나는 locate
1TB HDD에서 무언가를 검색하기 위해 바이너리를 여러 번 사용했습니다.
대부분의 경우 결과가 너무 많아서 원하는 것을 얻으려면 모든 줄을 읽어야 합니다.
locate
색상과 일치하는 패턴을 출력할 수 있으면 좋을 것입니다(grep --color 처럼).
이를 수행할 수 있는 방법이 있습니까 locate
?
답변1
가장 쉬운 방법은 간단하게 작성하는 것입니다.쉘 스크립트locate
다음 과 결합 grep
:
$PATH 어딘가에 /usr/local/bin/clocate
파일을 생성합니다 (예: ).
#!/bin/sh
locate --regex "$1" | grep --color=auto "$1"
그런 다음 다음과 같이 실행 가능하게 만드십시오.
chmod +x /usr/local/bin/clocate
그리고 그렇게 사용하십시오 locate
. 스크립트는 하나의 모드만 허용합니다.
또 다른 방법은쉘 기능bash
: 쉘을 사용하는 경우 $HOME/.bashrc
다음 줄을 추가할 수 있습니다.
clocate() { locate --regex "$1" | grep --color=auto "$1"; }
.bashrc
새 명령을 사용하려면 먼저 bash를 다시 실행하거나 코드를 리소스링해야 합니다 .
--regex
옵션을 참고해주세요 locate
. .*
대신 *
문자 수와 일치하도록 작성해야 합니다 .
답변2
이는 두 가지 모드, 즉 첫 번째 명령줄 모드와 두 번째 모드에서 작동합니다.
#!/bin/sh
echo "Type the second argument."
read constraint
locate -i "$1" | grep -i $(echo "$constraint") |grep -i --color=auto -e $(echo "$1") -e $(echo "$constraint")
exit