grep -i "^--[ ]*dependency" "$dir/${script[${array_len}]}"|grep -v -i ":[ ]*none[ ]*$"
1
A
답변
0
이 두 grep
표현에있다, 그래서 하나씩을 확인하자 :이 패턴 "^--[ ]*dependency"
일치하는 모든 라인을 확인
grep -i "^--[ ]*dependency"
. 이 패턴은 다음과 같습니다 : --
으로 시작하고 그 뒤에 공백 (0, 1 또는 다수)이오고 그 다음에 텍스트가 대소 문자를 구분하지 않고 dependency
이 오는 행이 (^
)입니다.
는 작업 방법을 참조하십시오 :이 패턴 ":[ ]*none[ ]*$"
일치하지 않는 모든 라인을 확인
$ cat c
-- dependency
--dependency
-dependency
$ grep -i "^--[ ]*dependency" c
-- dependency
--dependency
grep -v -i ":[ ]*none[ ]*$"
.
이 패턴 말한다 탭 (0, 1 또는 다수의) 임의의 양이어서 :
함유 라인 다음 텍스트 none
대소 문자 구별 마지막 행을 종료 할 임의의 탭의 양 (0, 1 또는 다수).
은 모두 함께,이 --
+ 공간 + dependency
및 :
+ 탭 + none
+ 탭 끝나는로 시작하는 라인을 검사한다.
각주. 플래그는 여기 grep
에 사용 :
-i
는 패턴과 입력 파일 모두에서 사례 구분을 무시합니다.-v
일치하지 않는 줄을 선택하려면 일치 감을 뒤집습니다.
+1
답변 주셔서 감사합니다, 지금은 꽤 분명해 :) – summithere
정확히 [] *와 [없음 []이 무엇인지 아는 것이 흥미로울 것입니다. 그들은 아마 공간뿐만 아니라 탭을 포함 할 것입니다. – fedorqui
예, 첫 번째 대괄호는 공백이며 마지막 두 개는 탭입니다. – summithere