내가 반복하는 디렉토리의 파일에 grep
을 사용하는 문자열이 포함될 때마다 bash 스크립트에서 작업을 수행하려고합니다. 문제는 디렉토리에있는 파일의 하위 집합에 이름에 공백이 포함되어있는 경우에 발생합니다. 따라서, 나는 sed
를 사용하여 장소에서 탈출 공간과 공간을 대체하기 위해 노력했다 :bash 스크립트의 이스케이프 공간
grep: /Users/me/Desktop/theDir/nameWith: No such file or directory
grep: spaces.txt: No such file or directory
내가 잘못 뭐하는 거지 :
if grep -c "main" ${source} | sed 's/ /\\ /g'; then
# do something
fi
그러나, 나는 여전히 오류가?
'grep -c'는 공백이있는 출력에 아무 것도 인쇄하지 않습니다. 힌트 : 숫자입니다. 아마도'grep -l'을 의미했을 것입니다. – anishsane
grep은 파일에''main "이 들어 있는지를 확인하기위한 조건 일뿐입니다. –