複数のファイルのリンクを解除

複数のファイルのリンクを解除

フォルダ内の複数のファイルのリンクを解除しようとしています。

私はこれを試しました。

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

関連情報