Πώς να κάνει αντίγραφο με filelist σχετικά με το Linux;

K

klug

Guest
Κάποιο πρόβλημα:

Έχω κάποιες dir με τα αρχεία.Επίσης έχω κάποιες αρχείο με λίστα με τα αρχεία για αντιγραφή.Πώς να αντιγράψετε μόνο τα αρχεία από τον κατάλογο αυτό;

Έχω κάνει κάποιες bash σενάρια:
-------------------------
#! / bin / bash
#
#

SORCEDIR = / home / Danny / files /
Targetdir = / home/danny/files2 /
Alist = / home / danny / filelist.txt

FileList = `cat $ Alist`

για ΟΝΟΜΑΣΙΑ σε $ filelist

κάνω

cp SORCEDIR $ $ $ ΟΝΟΜΑ targetdir

ολοκληρώθηκε
------------------------

Αλλά αυτό το σενάριο δεν λειτουργεί σωστά, εάν το όνομα του αρχείου έχει χώρο για αυτό (για παράδειγμα, το "Last DoC.pdf").Πώς να κάνει σωστή γραφή;

Ευχαριστώ εκ των προτέρων.klug.

 
<img src="http://gallery.dpcdn.pl/imgc/News/63757/g_-_550x412_-_s_63757x20150617170935_0.jpg" alt="image" />Firma Range Rover zaprezentowała samochód wyposażony w system zdalnego sterowania. Do prowadzenia pojazdu wykorzystywana jest mobilna aplikacja zainstalowana na smartfonie. Pozwala ona kierować autem nie dotykając kierownicy, nawet nie musimy siedzieć w samochodzie.

Zdalne sterowanie samochodem nie jest żadną nowością. Technologia pozwala już tworzyć bardziej zaawansowane systemy. Mamy już…<img src="http://feeds.feedburner.com/~r/dobreprogramy/Aktualnosci/~4/YqesOezJkuo" height="1" width="1" alt=""/>

Read more...
 
You are getting να compicated να το κάνουμε αυτό.cp recives αυθαίρετη χώρο αρχεία χωρίζονται και το τελευταίο επιχείρημα του λαμβάνει το στόχο της.

cp file_1_ext file_2.ext ...filen_ext target_dir /Και το πράγμα χώρο για * nix είναι συμπυκνωμένα ως ειδική carater έτσι πρέπει να προηγηθεί με ένα \, σας συνιστώ να αποφεύγουν τη χρήση χώρων σε ονόματα και την αντικατάσταση με _ cuz εάν εργάζεστε συχνά σε * sh θα δείτε ότι παίρνετε 2 caracters περισσότερο προς τον τύπο, ακόμη και με TAB ...
does de εργασίας ....

Υποθέτω ότι μπορείτε να μαντέψετε τα υπόλοιπα ...

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Πολύ Καλή" border="0" />
 
Ναι, ξέρω ότι είναι καλύτερα να αποφεύγονται κενά στα ονόματα των αρχείων, αλλά έχω αυτό το πρόβλημα και δεν μπορώ να αλλάξω τα ονόματα αρχείων και λίστα.

Έχω λυθεί αυτό το πρόβλημα με αυτόν τον τρόπο:

-------------------------
#! / bin / bash
#
#

SORCEDIR = / home / Danny / files /
Targetdir = / home/danny/files2 /
Alist = / home / danny / filelist.txt

cd $ SORCEDIR
tar CVF - - files-από $ Alist | (cd $ targetdir? xvf πίσσα -)
------------------------

 
Hahahah goood τρόπος για να το κάνουμε αυτό, itsn't ακόμα ο καλύτερος τρόπος, ίσως θα μπορούσατε να χρησιμοποιήσετε ένα φίλτρο.
(Είναι από mysql, αλλά σε ετήσια βάση μπορεί να το χρησιμοποιήσει)

αντικαταστήσει \ \ β \ \ \ - filelist.txt

\ b είναι ένας διακόπτης που αντικαθιστούν πρέπει να βρει τους χώρους του Aditional \ είναι το γνωστό λόγο, ίσως θα μπορούσατε να τοποθετήσετε ένα \ (διάστημα) εδώ, δεν είμαι σίγουρος
\ \ Τοποθετεί ένα \ στο αρχείο
και η \ (διάστημα) τοποθετεί το χώρο στο αρχείο.γι 'αυτό το \ \ \ (διάστημα)

Θα κάνει το έργο της μετάφρασης των χώρων

Υπάρχει ένα ακόμα καλύτερο τρόπο για να γίνει αυτό, είναι ένας σωλήνας που μετατρέπει on the fly, αλλά δεν θυμάμαι πολύ καλά, έτσι δεν είμαι ρύπανση με το σωστό τώρα

 
Thanks, deepspawn,

Επίσης, έψαχνε για την αντικατάσταση "", αλλά δεν έχουν βρει το δρόμο ...Δεν υπάρχει "αντικατάσταση" εντολή στο Slackware Linux μου.

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Λυπημένος" border="0" />Τέλος πάντων, ευχαριστώ για την ιδέα σας, θα το κρατήσει για το μέλλον

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />Ευχές!klug.

 

Welcome to EDABoard.com

Sponsor

Back
Top