/ / Cosa c'è di sbagliato nel seguente approccio (rm + xargs) - linux, bash, grep, xargs, rm

Cosa c'è di sbagliato nel seguente approccio (rm + xargs) - linux, bash, grep, xargs, rm

Qualcuno può dirmi cosa c'è di sbagliato nel seguire la cancellazione del file che inizia con "#".

File nella directory:

ola@ola:~/.scratch/hmm$ ls
five  #four  #one  six  #three  #two
ola@ola:~/.scratch/hmm$

ola@ola:~/.scratch/hmm$ ls . |grep "#.*" |xargs rm -rf
ola@ola:~/.scratch/hmm$ ls
five  six
ola@ola:~/.scratch/hmm$

Ps: chiedere in riferimento alla seguente domanda

Bash: come faccio a cancellare tutti i miei file di testo che iniziano con #?

risposte:

0 per risposta № 1

ls potrebbe elencare i file in diverse colonne e la tua espressione regolare non è ancorata all'inizio del nome del file. Anche i nomi di file contenenti spazi vuoti saranno problematici.