0

I have an array (pfad) containing a filepath as a string f.e. (got it with tree and some sed stuff)

/media/usb1/Filme/Jersey\ Boys\ (2014)/review.txt

I want to delete this file:

rm ${pfad[$j]}

Obviously this doesn't work, because we don't have the correct format to access directorys with spaces. I figured out it should be like this:

rm /media/usb1/Filme/Jersey\ Boys\ \(2014\)/review.txt

So I am missing '\' twice. once in front of "(" and once behind "2014". How can I adjust this?

I guess it's possible to replace (2014) with \(2014\) via sed, but that is pretty sloppy and I I had to do it for every year.

If there is a better way to get the absolute full path (and size) of every file in a directory and its subfolders in two (or one) arrays, I woud like to learn. I am free to use perl / ruby or what ever Raspbian has to offer. (Would be nice if it is kinda ressource friendly.) Thanks for reading.

EDIT (my) workaround:

use tree -N it creates the output without " \ ". after that put the variable (array) as mentioned in the comments in "$variable".

user3715758
  • 15
  • 2
  • 7

0 Answers0