find, xargs 조합시 공백 문자가 있는 파일
글쓴이: greatkgc / 작성시간: 목, 2004/12/16 - 8:04오후
cygwin 환경에서입니다.
엄청나게 많은 파일들이 있어 거기에서 특정 패턴을 찾으려고
합니다.
find . -type f -print | xargs egrep pattern
문제는 공백문자가 들어간 화일명이 있는데 그런 경우 제대로
동작하지 않는다는 것입니다. 단순히 공백 문자가 들어간 화일에
대해서만 제대로 동작하지 않으면 상관이 없는데, 이 에러때문에
다른 파일 내용까지 탐색하지 못하는 것으로 보입니다.
물론
find . -type f -exe egrep pattern {} \;
이렇게 하면 제대로 동작은 합니다만.. 첫번째를 어떻게 개선할
수 있는 방법이 없을까요?
Forums:
[code:1]find . -type f | sed '{
FreeBSD 6-CURRENT에서만 확인했습니다.
----
Let's shut up and code.
아래와 같이 하면 됩니다. 파일 구분자를 \0 으로 하는 거죠.[
아래와 같이 하면 됩니다. 파일 구분자를 \0 으로 하는 거죠.
--
익스펙토 페트로눔
잘 동작하는 것 같습니다. ^^ " "로 묶는 아이디어는 생각을 했었는데
잘 동작하는 것 같습니다. ^^ " "로 묶는 아이디어는 생각을 했었는데
sed를 사용할 줄을 몰라서.. :oops:
검색 대상의 파일들이 수천개나 되기 때문에
file . -type f > filelist
이렇게 만들어 놓고
cat filelist | xargs egrep
이렇게 사용했었더랬습니다.
감사합니다.
댓글 달기