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