![특정 파일을 재귀적으로 삭제하려면 rm 또는 간단한 것을 사용하시겠습니까?](https://linux55.com/image/45509/%ED%8A%B9%EC%A0%95%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9E%AC%EA%B7%80%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%A0%A4%EB%A9%B4%20rm%20%EB%98%90%EB%8A%94%20%EA%B0%84%EB%8B%A8%ED%95%9C%20%EA%B2%83%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
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