makefile의 16진수 색상 코드에 대한 grep 정규식

makefile의 16진수 색상 코드에 대한 grep 정규식

따라서 유효한 16진수 색상 코드와 잘못된 16진수 색상 코드가 포함된 텍스트 파일이 있습니다. 잘못된 코드를 필터링하고 유효한 코드만 인쇄하고 싶습니다. 코드가 유효하려면 해시 기호가 있어야 하며 해시 길이는 6자 또는 8자이고 문자는 AF여야 합니다. 아래 grep 명령은 makefile에 저장되어 있으며 파일을 실행하려고 할 때마다 아래에서 볼 수 있는 오류가 발생합니다.

주문하다:

grep -ivE '^#([a-f0-9]{6}|[a-f0-9]{8})$' colours.txt

실수:

/bin/sh: 1: Syntax error: Unterminated quoted string
Makefile:2: recipe for target 'run-task-1' failed
make: *** [run-task-1] Error 2

암호:

#b293a6
#ead58f
#a69d36a2
#067806
#afe6e
#7f0bf7ef
#dd85
#042847421
#1a283af

원하는 출력:

#b293a6
#ead58f
#a69d36a2
#067806
#7f0bf7ef

답변1

grep -ivE '^#([a-f0-9]{6}|[a-f0-9]{8})$' colours.txt

make에 전달되는 내용이 되도록 하려면 메타 문자로 인식 sh되지 않도록 하고 변수를 대체해야 합니다 .make$make

그냥 사용하세요 $$.

관련 정보