Οδηγός χρήσης: Χρησιμοποιήστε τη μετονομασία Command On Linux

Έχετε προσπαθήσει ποτέ να χρησιμοποιήσετε την εντολή μετονομασία Linux ; Θέλετε να ασχοληθείτε με το αρχείο μετονομασίας του Powerhouse στον κόσμο του Linux και να παρέχετε mv - και τον εαυτό σας - ένα υπόλοιπο. Η μετονομασία είναι γρήγορη, ευέλικτη και πολύ πιο εύκολη. Ακολουθεί ένας αναλυτικός οδηγός για αυτό το εργοστάσιο ισχύος μιας εντολής.





Τι πάει στραβά με το mv;

Δεν υπάρχει τίποτα στραβά με το mv . Ωστόσο, η εντολή κάνει καλή δουλειά. Επίσης, μπορείτε να το βρείτε σε όλες τις διανομές Linux, σε macOS και σε άλλο λειτουργικό σύστημα τύπου Unix. Ωστόσο, είναι πάντα διαθέσιμο. Αλλά σίγουρα, δεν θέλετε ένα φτυάρι, αλλά χρειάζεστε μια μπουλντόζα.



Η εντολή mv έχει σκοπό στη ζωή, και είναι η μετακίνηση αρχείων. Είναι μια ασφαλής παρενέργεια που μπορεί να χρησιμοποιηθεί για τη μετακίνηση ενός παλαιότερου αρχείου σε το νέο αρχείο, με νέο όνομα. Το αποτέλεσμα είναι να μετονομάσετε το αρχείο, ώστε να έχετε αυτό που θέλετε. Αλλά mv δεν είναι ένα εργαλείο προσαρμογής μετονομασίας αρχείων.

Πώς να μετονομάσετε ένα μεμονωμένο αρχείο με mv

μετονομασία αρχείων στο Linux



Εάν θέλετε να χρησιμοποιήσετε mv για να μετονομάσετε ένα αρχείο και στη συνέχεια πληκτρολογήστε mv, space, το όνομα αρχείου, space και το νέο όνομα που θέλετε να έχει το αρχείο. Στη συνέχεια, πατήστε Enter.



Μπορείτε επίσης να χρησιμοποιήσετε το ls για να ελέγξετε ότι το αρχείο μετονομάζεται ή όχι

mv rename

Τρόπος μετονομασίας πολλών αρχείων με mv

Τα πράγματα γίνονται περίπλοκα μετά τη μετονομασία πολλών αρχείων. perl-rename δεν έχει δυνατότητα να μετονομάσει διάφορα αρχεία. Πρέπει να καταφύγετε σε κάποια χρήσιμα κόλπα Bash. Είναι καλό αν γνωρίζετε κάποια γραμμή εντολών μεσαίου βαθμού, αλλά τη δυσκολία μετονομασίας διαφορετικών αρχείων με mv σημαίνει μόνο την ευκολία χρήσης mv για να μετονομάσετε ένα μόνο αρχείο.



Τα πράγματα κλιμακώνονται αμέσως.



Ας πούμε εδώ είναι ένας κατάλογος με πολλά αρχεία σε αυτόν, διαφορετικών τύπων. Ορισμένα αρχεία έχουν ένα .επαιτώ επέκταση. Θέλουμε να μετονομάσουμε αυτά τα αρχεία στη γραμμή εντολών έτσι ώστε να έχουν .prg επέκταση.

Ελάτε να ρίξουμε μια ματιά στα αρχεία.

rename

Ακολουθεί μια μέθοδος που δεν μπορεί να καταφύγει στη σύνταξη ενός πραγματικού αρχείου σεναρίου Bash.

rename

Λειτούργησε ή όχι; Ας ελέγξουμε τα αρχεία και μετά προχωρήσουμε περαιτέρω.

rename

Λοιπόν, λειτουργεί καλά. Όλα είναι .prg αρχεία τώρα, και δεν υπάρχουν .επαιτώ αρχεία στον κατάλογο.

Τι συνέβη?

Τι έκανε πραγματικά η μακρά εντολή; Ας το ελέγξουμε.

prename

Το πρώτο μέρος ξεκινά έναν βρόχο που θα επεξεργαστεί κάθε .επαιτώ αρχείο στον κατάλογο, με τη σειρά του.

Ένα άλλο μέρος λέει τι θα κάνει η επεξεργασία κάνω . Χρησιμοποιεί mv για να μετακινήσετε κάθε αρχείο στο νέο αρχείο. Το νέο όνομα αρχείου θα είναι αρκετά παρόμοιο με το όνομα του αρχικού αρχείου εκτός από το τμήμα .prog. Επίσης, θα χρησιμοποιηθεί η επέκταση του .prg.

Εδώ είναι ένας εύκολος τρόπος

Σίγουρα. Εδώ είναι το μετονομάζω εντολή.

μετονομασία αρχείων στο Linux

Δεν αποτελεί μέρος της τυπικής διανομής Linux, επομένως θέλετε να το εγκαταστήσετε. Επίσης, έχει διαφορετικό όνομα σε διάφορες οικογένειες του Linux, αλλά όλα λειτουργούν με παρόμοιο τρόπο. Θα αντικαταστήσετε απλά το σωστό όνομα εντολής σύμφωνα με το γούστο του Linux που χρησιμοποιείτε.

Στις διανομές που προέρχονται από το Debian ή το Ubuntu εγκαθιστάτε απλώς perl-rename σαν αυτό:

*.prog

Στις διανομές που προέρχονται από το RedHat ή το Fedora απλά εγκαθιστάτε προνόμιο σαν αυτό. Θυμηθείτε ότι το αρχικό p, σημαίνει Perl.

rename

Για να το εγκαταστήσετε στο Manjaro Linux χρησιμοποιήστε την ακόλουθη εντολή. Λάβετε υπόψη ότι η εντολή μετονομασίας είναι γνωστή ως s.

.prog

Χρησιμοποιήστε τη μετονομασία Command -> Come Let's One One Try

Εδώ θα χρησιμοποιήσουμε rename. Το κάνουμε έτσι ώστε να έχουμε ένα σύνολο αρχείων .prog.

.prg

Ας χρησιμοποιήσουμε την παρακάτω εντολή για να τις μετονομάσουμε. Θα το ελέγξουμε επίσης είναι εντολή αν λειτούργησε ή όχι. Αν θέλετε να αντικαταστήσετε το rename με το ακριβές όνομα εντολής για Linux εάν δεν μπορείτε να χρησιμοποιήσετε το Ubuntu ή το Linux που προέρχεται από το Debian.

ls ls

Λειτουργεί καλά, τώρα εξαιρούνται όλα τα αρχεία .prg .επαιτώ αρχεία που απομένουν στον κατάλογο.

Τι συνέβη εδώ?

Ας το συζητήσουμε σε τρία μέρη.

Στο πρώτα μέρος, θα δείτε το όνομα της εντολής, renamels ή ls, για τις άλλες διανομές).

Η τρίτη τελευταίος μέρος είναι ^, το οποίο εξηγεί $ για λειτουργία σε όλα τα αρχεία .prog.

ο δεύτερος μέρος εξηγεί την εργασία που θέλουμε να κάνουμε σε κάθε όνομα αρχείου. Το ^ σημαίνει υποκατάστατο. Ο 1ος όρος (ls) είναι αυτό ls θα ψάξει σε κάθε όνομα αρχείου και ο 2ος όρος (ls) είναι αυτός με τον οποίο θα αντικατασταθεί.

πάρα πολλές αποτυχημένες προσπάθειες σύνδεσης

Οι εντολές μεσαίο μέρος ή κεντρική έκφραση είναι μια «κανονική έκφραση» Perl και είναι αυτό που παρέχει το s/ ελέγχετε την αξιοπιστία του.

Τροποποίηση άλλων τμημάτων ενός ονόματος αρχείου

Έχουμε τροποποιήσει τις επεκτάσεις ονόματος αρχείου, ας αλλάξουμε άλλα μέρη των ονομάτων αρχείων.

Στον κατάλογο, υπάρχουν πολλά αρχεία πηγαίου κώδικα C. Όλα τα ονόματα αρχείων είναι προθετικά με αργκό_. Μπορούμε επίσης να το ελέγξουμε με y/.

a-z

Εδώ αντικαθιστούμε όλες τις εμφανίσεις του slang_ με sl_. Η μορφή εντολών είναι πολύ γνωστή σε εμάς. Απλώς τροποποιούμε τον όρο αναζήτησης, τον όρο αντικατάστασης και τον τύπο του αρχείου.

A-Z

Εδώ ψάχνουμε για αρχεία .c και αναζητούμε slang_. Κάθε φορά που βρήκατε slang_ σε ένα όνομα αρχείου αντικαθίσταται με το sl_.

Μπορείτε επίσης να ελέγξετε το αποτέλεσμα της εντολής μετά την επανάληψη της εντολής ls από ψηλά χρησιμοποιώντας τις ίδιες παραμέτρους:

a-z

Κατάργηση μέρους ενός ονόματος αρχείου

Μπορούμε επίσης να διαγράψουμε ένα μέρος ενός ονόματος αρχείου μετά την αντικατάσταση του όρου αναζήτησης με τίποτα.

mv oldfile.txt newfile.txt

Μπορούμε επίσης να δούμε από το είναι εντολή ότι μας .ντο όλα τα αρχεία προετοιμάζονται με sl_. Ας το αφήσουμε εντελώς.

ο μετονομάζω Η εντολή ακολουθεί την ίδια μορφή όπως αναφέρεται παραπάνω. Θα αναζητήσουμε αρχεία .c. Ο όρος αναζήτησης είναι sl_, αλλά δεν υπάρχει όρος αντικατάστασης. Δύο ανάστροφες κάθετες «//» χωρίς τίποτα μεταξύ τους σημαίνουν μια κενή συμβολοσειρά

ls *.txt
μπορεί να επεξεργαστεί κάθε αρχείο .c με τη σειρά του. Επίσης, αναζητά sl_ στο όνομα αρχείου. Εάν το βρήκατε, μπορείτε να αντικατασταθείτε από τίποτα. Εναλλακτικά, ο όρος αναζήτησης καταργείται.

Μια άλλη χρήση του

ls *.prog -l
Η εντολή επιβεβαιώνει ότι το πρόθεμα sl_ έχει διαγραφεί από κάθε αρχείο .c.

Το όριο τροποποιείται σε συγκεκριμένα μέρη των ονομάτων αρχείων

Ελάτε να χρησιμοποιήσουμε

for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
για προβολή σε αρχεία που έχουν την παράμετρο συμβολοσειράς στο όνομα αρχείου τους. Τότε θα το χρησιμοποιήσουμε μετονομάζω εντολή για αντικατάσταση της συμβολοσειράς μέσω παραμέτρου συμβολοσειράς. Επίσης, χρησιμοποιούμε είναι για άλλη μια φορά για να δείτε το αποτέλεσμα μετονομάζω εντολή είχε σε αυτά τα αρχεία.

ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
sudo apt-get install rename

Στη συνέχεια, θα δείτε τέσσερα αρχεία που έχουν να σταματήσει στο όνομα αρχείου τους. param.c, param_one.c και param_two.c έχουν όλα να σταματήσει στο ξεκινά του ονόματός τους. Το third_param.c έχει να σταματήσει στο τελευταίος του ονόματός του, λίγο πριν από την επέκταση.

Μπορείτε να κάνετε αναζήτηση μετονομάζω εντολή για param παντού στο όνομα αρχείου. Στη συνέχεια, μπορείτε να το αντικαταστήσετε με παράμετρο σε όλες τις περιπτώσεις.

Μια άλλη χρήση του είναι Η εντολή μας δείχνει ότι έχει συμβεί ακριβώς. Αν να σταματήσει ήταν στην αρχή ή στο τέλος του ονόματος αρχείου. Μπορείτε επίσης να το αντικαταστήσετε με ένα παράμετρος.

Μπορούμε να χρησιμοποιήσουμε τους μεταχαρακτήρες του Perl για να καθαρίσουμε τη συμπεριφορά της κεντρικής έκφρασης. Οι μεταχαρακτήρες είναι τα σημάδια που αντιπροσωπεύουν ακολουθίες ή θέσεις χαρακτήρων. Για παράδειγμα,

sudo dnf install prename
σημαίνει έναρξη μιας συμβολοσειράς, (.) σημαίνει οποιονδήποτε μεμονωμένο χαρακτήρα (εκτός από έναν χαρακτήρα νέας γραμμής),
sudo pacman -Syu perl-rename
σημαίνει τέλος μιας συμβολοσειράς.

Επίσης, χρησιμοποιούμε την αρχή του μεταχαρακτήρα συμβολοσειράς (

ls *.prog
) για να περιορίσουμε την αναζήτησή μας στην αρχή των ονομάτων αρχείων.

rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c

Τα αρχεία που μετονομάσαμε αναφέρονται προηγουμένως. Επίσης, μπορούμε να δούμε ότι η παράμετρος συμβολοσειράς βρίσκεται στην αρχή 3 ονομάτων αρχείων και βρίσκεται στο τέλος ενός από τα ονόματα αρχείων.

Μας μετονομάζω Η εντολή χρησιμοποιεί την αρχή του μεταχαρακτήρα γραμμής (^) πριν από την παράμετρο του όρου αναζήτησης. Εξηγεί να εξετάσει απλώς τον όρο αναζήτησης που θα βρεθεί εάν βρίσκεται στην αρχή του ονόματος αρχείου. Η παράμετρος συμβολοσειράς αναζήτησης θα αποφευχθεί εάν βρίσκεται οπουδήποτε αλλού στο όνομα αρχείου.

Κοιτώντας με το

ls sl*.c
, μπορούμε στη συνέχεια να δούμε ότι το όνομα αρχείου έχει παράμετρο στο τελευταίος του ονόματος αρχείου δεν έχει αλλάξει. Αλλά τα τρία ονόματα αρχείων έχουν παράμετρο στο ξεκινά των ονομάτων τους που έχουν συμβολοσειρά αναζήτησης αντικατασταθεί από την υποκατάστατη τιμή όρου.

ο μετονομάζω η δύναμη βρίσκεται στη δύναμη του Perl.

Κοιτάζοντας με Ομαδοποιήσεις

Αυτή είναι η περίπτωση όπου πιθανώς έχετε αρχεία με τις ίδιες συμβολοσειρές στα ονόματά τους. Δεν είναι παρόμοιες ακριβώς με τις ίδιες χορδές, οπότε απλά αναζητάτε και η αντικατάσταση δεν μπορεί να λειτουργήσει εδώ.

Σε αυτό το παράδειγμα χρησιμοποιούμε

ls *.c rename 's/sl_//' *.c ls *.c
για να δείτε ποια αρχεία έχουμε που ξεκινά με str. Επίσης, υπάρχουν δύο από αυτά, το string.c και το strangle.c. Μπορούμε επίσης να μετονομάσουμε και τις δύο χορδές αφού χρησιμοποιήσουμε μια μέθοδο γνωστή ως ομαδοποίηση.

Η μεσαία έκφραση του μετονομάζω Η εντολή θα αναζητήσει συμβολοσειρές εντός ονομάτων αρχείων που έχουν την ακολουθία χαρακτήρων προσπαθώ ή στρα. Εδώ αυτές οι ακολουθίες ακολουθούνται από ng. Εναλλακτικά, ο όρος αναζήτησης θα αναζητήσει συμβολοσειρά και παράξενος. Ο όρος υποκατάστασης είναι πάταγος.

ls *param*
rename 's/param/parameter' *.c
ls *param*

Μετά τη χρήση

ls *param*.c
άλλη φορά επιβεβαιώνει ότι το string.c έχει γίνει bang.c και το strangle.c είναι τώρα bangle.c.

Χρησιμοποιήστε τη μετονομασία Command With Translations

ο μετονομάζω Η εντολή εκτελεί όλες τις ενέργειες σε ονόματα αρχείων που είναι γνωστά ως μεταφράσεις. Ακολουθεί ένα παράδειγμα μετάφρασης που αναγκάζει ένα σύνολο ονομάτων αρχείων σε κεφαλαία γράμματα.

Στο μετονομάζω Η εντολή που δίνεται παρακάτω ειδοποιεί ότι δεν χρησιμοποιούμε ένα

rename 's/^parameter/value/' *.c
για να ξεκινήσουμε τη μεσαία έκφραση, χρησιμοποιούμε
ls *param*.c
. Εξηγεί ότι η εντολή δεν μπορεί να εκτελέσει αντικατάσταση. εκτελούμε μια μετάφραση.

Ο όρος

ls value*.c
είναι μια έκφραση Perl. Σημαίνει ότι όλοι οι πεζά χαρακτήρες στην ακολουθία από a έως z. Όμως, ο όρος
ls str*.c
αντιπροσωπεύει όλα τα κεφαλαία γράμματα στην ακολουθία από το Α έως το Ω.

Η μεσαία έκφραση σε αυτήν την εντολή μπορεί να παραφράζεται σαν να υπάρχει κάποιο από τα πεζά γράμματα από το α έως το ζ στο όνομα αρχείου. Τους αντικαθιστά χρησιμοποιώντας τους αντίστοιχους χαρακτήρες από τη σειρά των κεφαλαίων χαρακτήρων από το Α έως το Ω.

Εάν θέλετε να επιβάλετε τα ονόματα αρχείων όλων των αρχείων .prg με κεφαλαία γράμματα, απλώς χρησιμοποιήστε αυτήν την εντολή:

μετονομασία 'y / a-z / A-Z /' * .prg

rename 's/(stri|stra)ng/bang/' *.c

Η εντολή

ls ban*.c
δείξτε μας ότι όλα .prg Τα αρχεία επέκτασης είναι τώρα με κεφαλαία γράμματα. Επίσης, για να είμαστε αυστηρά ακριβείς, δεν είναι .prg αρχεία πλέον. Λοιπόν, είναι αρχεία .PRG. Βεβαιωθείτε ότι το Linux είναι πεζά.

Μπορούμε επίσης να αντιστρέψουμε την τελευταία εντολή αφού επιστρέψουμε στη θέση του

ls *.PRG
και A-Z όρους στη μεσαία έκφραση.

μετονομασία «y / A-Z / a-z /’ * .PRG

ls * .prg

Δεν μπορείτε να μάθετε Perl σε πέντε λεπτά

Το να πιάσεις τον Perl είναι πολύ καλός χρόνος. Αλλά για να αρχίσετε να χρησιμοποιείτε τις δυνατότητες εξοικονόμησης χρόνου του μετονομάζω εντολή, δεν βλέπετε να έχετε πολύ γνώσεις Perl για να αποκομίσετε μεγάλα πλεονεκτήματα στην εξουσία.

Συμπέρασμα:

Ακολουθούν όλα σχετικά με τη 'Χρήση μετονομασίας Command On Linux'. Ποιες είναι οι απόψεις σας σχετικά με αυτό; Αν θέλετε να μοιραστείτε οποιαδήποτε άλλη μέθοδο ή συμβουλές σχετικά με το άρθρο, ενημερώστε μας παρακάτω. Για περαιτέρω ερωτήσεις και ερωτήσεις, ενημερώστε μας στην παρακάτω ενότητα σχολίων!

Διαβάστε επίσης: