Kopiowanie plików z listy

Tutaj można zadać pytanie, jeśli Linuksa widzi się pierwszy raz w życiu ;)
Awatar użytkownika
emstrang
Sędziwy Jeż
Sędziwy Jeż
Posty: 43
Rejestracja: 01 mar 2022, 20:07
Wersja Ubuntu: 22.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Kopiowanie plików z listy

Post autor: emstrang »

Witam.
Nie potrafię sam napisać właściwego polecenia, a chciałbym móc kopiować pliki wyszczególnione w pliku tekstowym z jednej lokalizacji do drugiej.
W każdym wierszu listy jest jedna nazwa pliku. Być może mogłoby to być działanie wykorzystujące polecenia cat i cp. Nie wiem jednak jak seryjnie podstawiać kolejne linie odczytane przez cat do cp.

Kod: Zaznacz cały

#!/bin/sh
FILE="$(cat _lista)"
cp "$FILE" /home/suncez/leg

Kod: Zaznacz cały

#!/bin/sh
FILE="$(cat _lista | awk '{print $0}')"
cp "$FILE" /home/suncez/leg
_lista - lista plików o nazwach ze spacjami
leg - katalog docelowy
Awatar użytkownika
mario_7
Administrator
Administrator
Posty: 8613
Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 20.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Kopiowanie plików z listy

Post autor: mario_7 »

Rzuć okiem na polecenie rsync i parametr --files-from
verdorben
Wytworny Kaczor
Wytworny Kaczor
Posty: 466
Rejestracja: 30 mar 2009, 18:00
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: ARM

Re: Kopiowanie plików z listy

Post autor: verdorben »

nazwy plikow w list jeden pod drugim

Kod: Zaznacz cały

while read files; do
cp "$files" /path
done < list
Awatar użytkownika
emstrang
Sędziwy Jeż
Sędziwy Jeż
Posty: 43
Rejestracja: 01 mar 2022, 20:07
Wersja Ubuntu: 22.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Re: Kopiowanie plików z listy

Post autor: emstrang »

Dziękuję za odpowiedzi, sprawdziłem obie wskazówki i obie działają.
Skrypt odpalony w katalogu z plikiem _lista i kopiowanymi plikami:

Kod: Zaznacz cały

#!/bin/sh
while read files; do
cp "$files" /home/suncez/leg
done < _lista
I polecenie uruchomione z innej lokalizacji:

Kod: Zaznacz cały

rsync --files-from=/media/suncez/Dane/Archiwa/muzyka/_lista /media/suncez/Dane/Archiwa/muzyka/ /home/suncez/leg/
;-)
ODPOWIEDZ

Wróć do „Przedszkole Linuksa”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości