取消多个文件的链接

取消多个文件的链接

我正在尝试取消文件夹中多个文件的链接。

我刚刚尝试过这个

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循环或 use rm,它支持作为参数传递的多个文件。

答案4

这应该可以做到:

find {000003..006707}.png -maxdepth 1 -exec unlink '{}' \;

但请注意,此方法比rm.

相关内容