Basename
Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Το basename ανήκει στα προγράμματα του UNIX. Όταν του δίνεται μια διαδρομή στο δίσκο, διαγράφει το αρχικό της τμήμα μέχρι την τελευταία κάθετο ('/') και επιστρέφει το αποτέλεσμα. Το basename περιγράφεται στη Μοναδική Προδιαγραφή UNIX (Single UNIX Specification) και χρησιμοποιείται κυρίως σε σενάρια κελύφους.
Πίνακας περιεχομένων |
Χρήση [Επεξεργασία]
Σύμφωνα με το Single UNIX Specification, η προδιαγραφή του basename είναι η εξής:
basename συμβολοσειρά [επίθεμα]
- συμβολοσειρά
- Μια διαδρομή στο σύστημα αρχείων.
- επίθεμα
- Αν οριστεί, το basename θα το διαγράψει αν το βρει σαν επίθεμα.
Παράδειγμα [Επεξεργασία]
$ basename /home/jsmith/base.wiki
base.wiki
$ basename /home/jsmith/base.wiki .wiki
base
Ταχύτητα [Επεξεργασία]
Επειδή το basename δέχεται μόνο μια παράμετρο, η χρήση του στον εσωτερικό βρόχο σεναρίων κελύφους μπορεί να έχει καταστροφικά αποτελέσματα στην ταχύτητα εκτέλεσής τους. Έστω:
while read file; do basename "$file" done < κάποια είσοδος
Ο παραπάνω κώδικας δημιουργεί μια ξεχωριστή κλήση διεργασίας για κάθε γραμμή της εισόδου. Για αυτόν το λόγο συνήθως γίνεται χρήση της υποκατάστασης κελύφους:
echo "${file##*/}";
Δείτε επίσης [Επεξεργασία]
|
||||||||||||||||||||||||||
| Στο λήμμα αυτό έχει ενσωματωθεί κείμενο από το λήμμα Basename της Αγγλόγλωσσης Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 3.0. (ιστορικό/συντάκτες). |