Ștergere listă fișiere cu spații

From ROFUG

Problema
Am un fisier ce contine pe fiecare linie nume de fisiere ce trebuie sterse. Unele fisiere au in nume spatii.
Cum fac sa le sterg si pe acelea ?
(Postat de Dan Angelescu, 1 Iunie 2006)




Soluția 1

O solutie posibila este:

while read line; do
	echo "deleting $line..."
	rm -f "$line"
done < files.txt

(Postat de Serghei Amelian, 1 Iunie 2006)


Soluția 2

Oricum ramine problema ca shell-ul face split dupa IFS in for, iar IFS by default e orice whitespace (newline, space, tab). Solutia pt. bash este

export IFS=$'\n' # split doar la newline

for i `cat file_list`; do rm $i; done;

(Postat de Kiki, 1 Iunie 2006)


Soluția 3

S-a rezolvat pornind de la ideea dl-ui Vlad Galu:

cat ${MOUNTPOINT}/root.rem| sed 's/ /\\ /'g | xargs rm

(Postat de Dan Angelescu, 2 Iunie 2006)

Personal tools