Desvincular vários arquivos

3

Estou tentando desvincular vários arquivos da minha pasta.

Eu apenas tentei isso

unlink {000003..006707}.png

Mas eu estou entendendo isso.

unlink: extra operand ‘000004.png’

    
por Murat Kaya 06.12.2016 / 22:17

3 respostas

6

Olhando para a página man, não acredito que seja compatível com esse uso.

NAME
       unlink - call the unlink function to remove the specified file

SYNOPSIS
       unlink FILE
       unlink OPTION

Eu faria isso usando um loop for ou xargs .

$ for i in {000003..006707}.png; do unlink $i; done

Se você está apenas tentando excluir vários arquivos, use rm {000003..006707}.png .

    
por 06.12.2016 / 22:25
1

De man unlink :

SEE ALSO
       unlink(2)

       Full documentation at: <http://www.gnu.org/software/coreutils/unlink>
       or available locally via: info '(coreutils) unlink invocation'

De info '(coreutils) unlink invocation' :

‘unlink’ deletes a single specified file name. It is a minimalist interface to the system-provided ‘unlink’ function. *Note (libc)Deleting Files::. Synopsis: It avoids the bells and whistles of the more commonly-used ‘rm’ command (*note rm invocation::).

    
por 07.12.2016 / 01:35
1

slm está correto: unlink suporta apenas um arquivo como argumento:

$ unlink f1.txt f2.txt                                                                                                   
unlink: extra operand ‘f2.txt’
Try 'unlink --help' for more information.

Portanto, o problema não está na sua sintaxe bash , mas sim na maneira como o unlink foi criado. Como alternativa, use um for loop ou use rm , que suporta vários arquivos passados como argumentos.

    
por 06.12.2016 / 23:19

Tags