저는 bash의 초보자이며 특정 패턴과 일치하지 않는 디렉토리의 모든 파일에 python 함수에 매개 변수를 전달하고 싶습니다. sth. 같은 :bash에서 문자열과 일치하지 않는 파일 목록을 표시합니다.
$ myscripts/myprog.py $ myfiles/(bonjovi)
위의 예제가 "bonjovi"일치하지 않는 모든 파일을 검색한다!.
보다도 그것은 grep
, xargs
와 정규 표현식을 사용하는 것이 아마 가장 쉬운
저는 bash의 초보자이며 특정 패턴과 일치하지 않는 디렉토리의 모든 파일에 python 함수에 매개 변수를 전달하고 싶습니다. sth. 같은 :bash에서 문자열과 일치하지 않는 파일 목록을 표시합니다.
$ myscripts/myprog.py $ myfiles/(bonjovi)
위의 예제가 "bonjovi"일치하지 않는 모든 파일을 검색한다!.
보다도 그것은 grep
, xargs
와 정규 표현식을 사용하는 것이 아마 가장 쉬운
소원. grep -v
은 주어진 패턴과 일치하는 행 (이 경우 파일 이름)을 제외시킵니다.
ls | grep -v 'bonjovi' | xargs myscripts/myprog.py
정확한 구문이 있습니다. 활성화 만하면됩니다.
shopt -s extglob
위대한 감사합니다 찰스! grep 매개 변수에 정규식을 사용하려면 어떻게해야합니까? 말하자면 : ls | grep -v '* bonjovi_album1 *'| xargs myscripts/myprog.py 작은 테스트를했지만 "bonjovi_album1"도 출력물에서 검색됩니다. – Javier
'* bonjovi_album1 *'는 첫 번째'*'앞에 아무 것도 없기 때문에 유효한 정규 표현식이 아닙니다. 'echo bonjovi_album1 | grep -v 'bonjovi_album1 *' '는 나를 위해 일하지만 예상 한대로하지 않을 수 있습니다. 'bonjovi_album' 다음에 0 이상'1'을 포함하는 것을 제거합니다. 이 경우'bonjovi_album' 패턴과 동일합니다. –