for file in $( find . -name 'aa*' -print) do echo $file done
이렇게 실행하면 aa 로 시작되는 파일은 다 찾는데.. 문제는요.. aa bbc da.avi aa bbc db.avi 이런 파일들은
aa bbc da.avi aa bbc db.avi
즉 공백이 들어간 파일명은 제대로 검색이 안된단 말인데요.. 해결책이 없을까요~?
for file in "$( find . -name 'aa*' -print)" do echo "$file" done
IFS=$'\n'; for i in $(find -name "aa*"); do echo $i; done azirael님의 방법은 전체 파일명이 하나의 필드로 간주되어 버릴 것 같습니다.
IFS=$'\n'; for i in $(find -name "aa*"); do echo $i; done
오늘 우리는 동지를 땅에 묻었습니다. 그러나 땅은 이제 우리들의 것입니다. 아직도 우리의 적은 강합니다. 그러나 우리는 그들보다 많습니다. 항상 많을 것입니다.
제가 주로 쓰는 방법:
find -name "aa*" | while read; do file=$REPLY echo "$file" ... done
제약점은, BSD의 sh는 read의 인자가 없으면 불평을 하더군요. :(
펄의 find 모듈을 쓰기를 강력히 권합니다.^^ 저는 특별한 경우가 아닌데도 왜 사람들이 일반 쉘 스크립트에 노력하는 지 모르겠습니다. 펄이나 하다못해 파이썬을 하면 한 큐에 해결될텐데 말입니다.
A few Good Man
$ find . -print0 | xargs -0 some-command
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
[code:1]for file in "$( find
[code:1]IFS=$'\n'; for i in $(find -
IFS=$'\n'; for i in $(find -name "aa*"); do echo $i; done
azirael님의 방법은 전체 파일명이 하나의 필드로 간주되어 버릴 것 같습니다.오늘 우리는 동지를 땅에 묻었습니다. 그러나 땅은 이제 우리들의 것입니다.
아직도 우리의 적은 강합니다. 그러나 우리는 그들보다 많습니다.
항상 많을 것입니다.
제가 주로 쓰는 방법:[code:1]find -name "
제가 주로 쓰는 방법:
제약점은, BSD의 sh는 read의 인자가 없으면 불평을 하더군요. :(
역시..
펄의 find 모듈을 쓰기를 강력히 권합니다.^^
저는 특별한 경우가 아닌데도 왜 사람들이 일반 쉘 스크립트에 노력하는 지 모르겠습니다.
펄이나 하다못해 파이썬을 하면 한 큐에 해결될텐데 말입니다.
A few Good Man
[code:1]$ find . -print0 | xargs -0 so
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기