Sida 1 av 1

Enradare som kan läsa input från fil som innehåller blankste

Postat: 29 okt 2018, 16:46
av martin77
Hej hej

Försöker synka min träningslista med telefonen. Har skapat en spellista med absoluta vägar till filerna. Kruxet är att den innehåller blanksteg. Har försökt med både rsync och cp, men får inte till det. De två rader som har kommit längst är dessa:

Kod: Markera allt

while read line; do cp $line /media/martin/75F3-9DCB/MUSIC/; done < Träning.txt 
och

Kod: Markera allt

rsync --dry-run -av  --files-from=Träning.txt . /media/martin/75F3-9DCB/MUSIC
Den första hittar inte filerna pga blankstegen, den andra, rsync, kommer ut på följande sätt:

Kod: Markera allt

rsync: link_stat "/home/martin/home/martin/Musik/Wolves in the Throne Room/Thrice Woven/05 Fires Roar in the Palace of the Moon.flac" failed: No such file or directory (2)
Alltså, den lägger ~/martin/Musik två gånger...
Står helt still i huvet på mig nu!

Om man använder cp- kommandot så borde man kunna inkapsulera raderna i .txt- filen på nåt sätt, då det är en fil per rad, men jag vet inte hur man gör det.

Edit:
Löste det själv, man sätter bara "" runt $line:

Kod: Markera allt

while read line; do cp "$line" /media/martin/75F3-9DCB/MUSIC/; done < Träning.tx