2012-03-23 4 views
1

Ich habe eine Datei ‚removethese‘ genannt, die Inhalte ist wie folgt aussieht:Wie gehe ich mit Leerzeichen in Dateinamen in einer for-Schleife um?

./test_dir/file1 
./test_dir/file2 
./test_dir/file 3test 
./test_dir/file4 test 

Ich versuche, jedes von ihnen in einer for-Schleife wie folgt zu entfernen:

for file in `cat removelist`; do rm -v "$file"; done 

Die Leerzeichen in Die Dateinamen scheinen dies zu vermasseln. Wie kann ich das umgehen?

+0

nicht -f rm arbeiten? – kasavbere

Antwort

1

Works in bash:

while read item; do rm "$item"; done < removelist 

das heißt, wenn die Dateien die richtigen Eigenschaften haben usw.

+0

das hat funktioniert! Rawsome. –