색상에 따른 위치

색상에 따른 위치

나는 locate1TB 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

관련 정보