NAME
디렉토리 트리에서 이름 으로 시작하는 모든 파일을 찾아서 하나의 쉘 명령을 사용하여 모든 파일을 제거해야합니다.
답변
이름이있는 모든 파일을 삭제하려면
find -name . 'name*' -exec rm {} \;
답변
파일 이름이 “foo”로 시작하는 현재 디렉토리 및 해당 서브 디렉토리의 모든 파일을 삭제하십시오.
$ find . -type f -name foo\* -exec rm {} \;
주의 :주의해서 사용하십시오 – 먼저 백업하십시오 – 또한 먼저 드라 이런을하십시오.
$ find . -type f -name foo\*
삭제 될 파일 이름 만 알려줍니다.
답변
나는이 작업을 시도하여 아래 명령을 시도했다.
rm -rf Example*
여기서 “예”는 모든 파일에 공통적 인 텍스트입니다.
답변
당신은 사용할 수 있습니다 find
:
find . -name "name*" -exec rm {} \;
답변
globstar
옵션을 사용하면 (로 활성화 shopt -s globstar
) :
rm -f **/NAME*
**/
팽창은하는 ./
, */
, */*/
, */*/*/
당신이있는 경우 등 디렉토리 로 시작하는 이름을 NAME
명령은 불평 할 rm
디렉토리를 제거 할 수 있지만, 그게 다야.
glob이 많은 파일과 일치하는 경우 명령 행 길이 제한이 발생할 수 있습니다.
또는 rm
가능한 한 적은 호출로 명령 행 길이 제한이 적용되지 않습니다.
find . -type f -name 'NAME*' -exec rm -f {} +
( 문 을 닫는 +
대신에 통지하십시오 .)\;
-exec
답변
find . -name 'foo'* -type f -delete
가장 간단한 답변처럼 보입니다.
-delete
어떤 파일이 삭제되는지보기 전에 플래그 없이 이것을 실행할 수 있습니다 .
답변
파일 / 폴더의 “Inode”번호를 검색 한 다음 inode 번호를 사용하여 삭제하십시오. 아래는 예입니다.
ls -il
3407873 drwxr-xr-x. 2 root root 4096 Mar 30 07:49 –p
find . -inum 3407873 -exec rm -rf {} \;