GNU/Linux >> Znalost Linux >  >> Linux

Soubory specifické pro Linux (mv nebo cp) z textového seznamu souborů?

Řešení 1:

Aby se zabránilo zbytečnému použití cat (a pokud nepoužíváte rsync ):

xargs -a file_list.txt mv -t /path/to/dest

To zpracuje jakýkoli platný název souboru, pokud neobsahuje nový řádek, pokud jsou soubory uvedeny jeden na řádek.

Řešení 2:

rsync má několik možností, které mohou převzít seznam souborů ke zpracování (--files-from , --include-from , atd.).

Například toto bude stačit:

rsync -a /source/directory --files-from=/full/path/to/listfile /destination/directory

Řešení 3:

for file in `cat listoffiles`; do mv "$file" /path/of/destination ; done

za předpokladu bash plus listoffiles obsahující jeden soubor na řádek. Moje jediná námitka k cestě rsync je, že OP žádá o metodu přesunutí souborů, nikoli jejich kopírování. rsync má více vlajek než královská svatba, takže jsem si jistý, že to lze dále upravit, ale někdy je jednodušší to lepší!

Řešení 4:

rsync --files-from=file_list.txt /path/to/source/ /path/to/dest/

Rsync má oproti cp další výhodu nebo mv příkazy, protože automaticky vytvoří složky, pokud neexistují.

Řešení 5:

To závisí na formátu textového souboru, který máte. Pokud máte například seznam souborů zapsaný tak, že každý soubor je umístěn na novém řádku. Můžete použít xargs jako:

$ cat your_text_file | xargs cp -t /path/to/destination

Můžete také použít find příkaz s -exec volba. kopírovat/přesouvat soubory.


Linux
  1. Zrychlete rsync při migraci linuxového serveru z příkazového řádku

  2. Linux ls Command - Seznam souborů

  3. Jak rozeznat binární soubory od textových souborů v linuxu

  1. Vyloučit seznam souborů z hledání

  2. linuxové sloučení složek:rsync?

  3. Soubory mizí na linuxovém serveru

  1. Jak zobrazit seznam souborů nainstalovaných z RPM nebo DEB balíčku v Linuxu

  2. Jak synchronizovat soubory / složky od určitého data dopředu?

  3. RDP z linuxu do windows