특정 파일을 재귀적으로 삭제하려면 rm 또는 간단한 것을 사용하시겠습니까?

특정 파일을 재귀적으로 삭제하려면 rm 또는 간단한 것을 사용하시겠습니까?

pair.txt라는 텍스트 파일이 있는 루트 폴더가 있습니다.

루트 폴더에는 pair.txt라는 텍스트 파일이 포함된 다른 폴더가 있습니다.

삭제하는 쉬운 방법이 있나요 rm?

사용할 수 있다는 것을 알고 있지만 다른 방법, 어쩌면 다른 와일드카드를 find . -name 'pairs.txt' -exec rm {} \;사용하는 방법을 알고 싶습니다 .*

를 사용해 보았는데 , 현재 디렉토리에 있는 것들만 rm -rf pairs.txt삭제되는 것 같습니다 .pairs.txt

답변1

배쉬 4+ 사용:

shopt -s globstar dotglob
rm -- **/pairs.txt

globstar옵션은 **여러 디렉터리 수준과 일치할 수 있습니다. 이 옵션을 사용하면 이름이 (dotfile)로 시작하는 디렉터리를 dotglob포함하게 됩니다 ..

ksh93 set -o globstar의 경우 shopt -s globstar.같은 효과를 얻으 dotglob려면 FIGNORE=.

zsh의 경우 두 번째 줄을 직접 사용하세요. 도트 파일을 포함하려면 setopt glob_dots먼저 두 번째 줄을 실행하거나 만듭니다 rm -- **/pairs.txt(D).

bash는 **디렉터리에 대한 심볼릭 링크를 따릅니다. Ksh와 zsh의 경우는 그렇지 않습니다.

답변2

ls -1R / | grep -e "/pairs.txt$" | xargs rm

관련 정보