폴더에 있는 여러 파일의 연결을 해제하려고 합니다.
방금 이것을 시도했습니다.
unlink {000003..006707}.png
그러나 나는 그것을 이해한다.
연결 해제: 추가 피연산자 '000004.png'
답변1
매뉴얼 페이지를 보면 이 사용법을 지원하지 않는 것 같습니다.
NAME
unlink - call the unlink function to remove the specified file
SYNOPSIS
unlink FILE
unlink OPTION
나는 for 루프나 xargs
.
$ for i in {000003..006707}.png; do unlink $i; done
여러 개의 파일을 삭제하려면 를 사용할 수 있습니다 rm {000003..006707}.png
.
답변2
에서 man unlink
:
SEE ALSO
unlink(2)
Full documentation at: <http://www.gnu.org/software/coreutils/unlink>
or available locally via: info '(coreutils) unlink invocation'
에서 info '(coreutils) unlink invocation'
:
"연결 해제" 삭제단일 지정된 파일 이름. 시스템에서 제공하는 "연결 해제" 기능에 대한 간단한 인터페이스입니다. *참고(libc) 파일 삭제::. 요약: 더 일반적으로 사용되는 "rm" 명령의 부가적인 기능을 방지합니다(*rm 호출에 유의하세요::).
답변3
slm이 맞습니다. unlink
단일 파일만 인수로 지원합니다.
$ unlink f1.txt f2.txt
unlink: extra operand ‘f2.txt’
Try 'unlink --help' for more information.
따라서 문제는 구문이 아니라 bash
구성 방식입니다. unlink
대안으로 for
루프를 사용하거나 rm
인수로 전달된 여러 파일을 지원하는 를 사용하십시오.
답변4
이렇게 하면 트릭을 수행할 수 있습니다.
find {000003..006707}.png -maxdepth 1 -exec unlink '{}' \;
하지만 이 방법이 rm
.