패턴과 일치하는 파일을 재귀 적으로 만지는 방법


8

~ / docs 디렉토리 내에서 .txt로 끝나는 모든 파일을 "터치"하고 싶습니다.

어떻게해야합니까?

답변:


20

find:

find ~/docs -name "*.txt" -exec touch {} \;
  • 당신은 검색 ~/docs
  • name옵션은 모든 txt파일 과 일치 합니다-  파일 이름 exec에서 명령 touch을 실행합니다 .{}
  • \;명령을 끝내고 touch발견 된 각 파일에 대해 한 번 호출됩니다.

노트 :

  • \+마지막에 약간의 변형이 발생하여 하나의 단일 명령이 touch모든 파일에서 한 번에 실행되도록 구성 됩니다. 이것은 모든 명령에서 가능하지는 않지만 touch영향을받는 파일이 많은 경우 에는 작동 하며 몇 번의 호출을 저장합니다.

4
{} \+... 더 여기에있을 것입니다 touch만 개 파일과 함께, 그래서 예를 들면, 그 명령 줄에서 여러 파일 이름을 처리 할 수 {} \; 에 이루어집니다 호출 touch... 사용하여 {} \+호출합니다 touch... 여기 한 번만 (사용 가능한 메모리에 따라 다름) find의 맨 페이지 에서 발췌 한 내용입니다 .-exec command {} + ... The command line is built in much the same way that xargs builds its command lines . man find설명서에 자세한 내용이 있습니다.
Peter.O

@ Peter.O 사실, 다른 구문을 사용하는 습관입니다.
slhck

@ slhck : 더 높은 오버 헤드로 훨씬 느립니다.
Hello71
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.