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

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
martin77
Inlägg: 150
Blev medlem: 05 okt 2007, 16:51
OS: Xubuntu
Utgåva: 20.04 Focal Fossa LTS
Ort: Malmö

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

Inlägg 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

Återgå till "Terminalforum"