2013-10-04 2 views
0
[root]grep -w "/opt/VRTSodm/lib/libodm64.so" PACKAGE/VRTSodm_f2 
/opt/VRTSodm/lib/libodm64.so -r-xr-xr-x 
/opt/VRTSodm/lib/libodm64.so.1 -r-xr-xr-x 

나는 첫 번째 문자열로 출력 만단단한 단어 경계는

+0

그래서 원하는 출력은 ...입니까? – fedorqui

+0

예 문자열의 정확한 일치 – giri

+0

그리고 '루트'가 아니어야합니다. – tripleee

답변

0

당신은 단순히 표현의 끝 부분에 공간을 추가 할 수 있습니다 원하는 -w, 그리고 당신이 준 예를 들어 작동합니다.

+0

나는 또한 동일한 것을했지만 작동하지 않았습니다. – giri

+0

"작동하지 않습니다"는 우리에게별로 도움이되지 않습니다. –

+0

명령 줄에서는 수행하지만 스크립트에서는 수행되지 않습니다. PATCH_FILE_PERMISSION ='grep -w "$ {BASE_FILE_NAME}"$ {PATH1}/$ {i} _f2 | awk '{print $ 2}' ' – giri

0

-w 옵션은 비영 문자에 의해 묶여 야합니다. 엄격한 요구 사항이있는 경우 명시 적으로 지정해야합니다.

grep 일반 그룹화 및 상자 밖으로 교대를 지원하지 않기 때문에, 나는 grep -E (일명 egrep) 여기에 사용

grep -E '(^|[[:space:]])/opt/VRTSodm/lib/libodm64.so([[:space:]]|$)' PACKAGE/VRTSodm_f2 
+0

/opt/VRTSodm/lib/libodm64.so는 런타임에 하나의 변수에 저장되는 파일 내용입니다. PATCH_FILE_PERMISSION = grep -w "$ {BASE_FILE_NAME}"$ {PATH1}/$ {i} _f2 | awk '{print $ 2}' – giri

+0

그래서 기본적으로'PATCH_FILE_PERMISSION = $ (awk -v b = "$ BASE_FILE_NAME" '$ 1 == b {print $ 2}' "$ PATH1/$ {i} _f2)' – tripleee

0

사용을위한 -o 옵션을 선택합니다. 라인의 일치하는 부분 만 인쇄합니다 :

grep -o '/opt/VRTSodm/lib/libodm64\.so\.1\?' your_file 
관련 문제