Προς το περιεχόμενο

[INFO] Η δύναμη της Κονσόλας


Manos-Sx

Προτεινόμενες αναρτήσεις

  • 2 εβδομάδες αργότερα...
  • Απαντ. 889
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Θέλω να προσθέσω μέσα σε ένα script το

echo `lscpu` 

αλλά όταν το εμφανίζει έχει χάλια φορμάτ. Πως θα γίνει να το εμφανίζει όπως όταν δίνεις απλά lscpu ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το είπες και μόνος σου, δώσε απλά lscpu

:whistle:  :whistle:  :whistle:  :whistle:  :whistle: 

Και όμως ήταν τόσο απλό? μάλλον χρειάζομαι διάλειμμα :P

 

edit: λάθος, τώρα μου πετάει error σε αυτη τη γραμμή με command not found

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 εβδομάδες αργότερα...

Θέλω να ταξινομήσω τα αρχεία του συστήματος βάσει μεγέθους και να πάρω ένα υποσύνολο αυτών (πχ. τα 10,20,30 μεγαλύτερα). Με ποιο συνδυασμό εντολών το πετυχαίνω;

Υποθέτω με du, sort, και head με pipes. Το θέμα είναι ότι εγώ θέλω μόνο files και όχι directories τα οποία συμπεριλαμβάνει η du. Ideas?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Με άπειρους συνδυασμούς μπορείς να το πετύχεις ανάλογα και με τι προγράμματα έχεις εγκατεστημένα. Υποθέτω θέλεις λύση μόνο από coreutils, util-linux, find, κτλ.

 

Κάποιες λύσεις που μου έρχονται τώρα στο μυαλό είναι οι παρακάτω:

 

Αν όλα τα αρχεία που σε ενδιαφέρουν είναι στον ίδιο κατάλογο τότε γίνεται και απλά μόνο με την ls.

 

1) ls -alS | head -30

 

Η -S επιλογή ταξινομεί τα αρχεία από το μεγαλύτερο στο μικρότερο και η head κρατάει τα 30 πρώτα αποτελέσματα οπότε τα 30 πιο μεγάλα.

 

2) ls -alSr | tail -30

Το ίδιο αλλά ανάποδα. Η -r αναποδογυρίζει την ταξινόμηση οπότε τώρα γίνεται από το μικρότερο στο μεγαλύτερο άρα θέλεις την tail για τα 30 πιο μεγάλα.

 

Αν τα αρχεία δεν βρίσκονται όλα στον ίδιο κατάλογο, τότε μία λύση είναι να χρησιμοποιήσεις την find.

 

1) find /κατάλογος -type f -exec du -b {} \; |sort -n |tail -30

 

Μπακάλικη και πολύ αργή λύση γιατί η du εκτελείται τόσες φορές όσα είναι και τα αρχεία. Η παράμετρος -n στην sort είναι ώστε να κάνει αριθμητική ταξινόμηση (αλλιώς θα σου κάνει λεκτική ταξινόμηση και το μέγεθος 131 θα στο έχει πριν το μέγεθος 99).

 

2) find /κατάλογος -type f -print0 | du -b --files0-from=- | sort -n | tail -30

Το ίδιο αποτέλεσμα με πριν αλλά με πιο δόκιμο τρόπο ώστε το αποτέλεσμα να είναι απείρως πιο γρήγορο. Η find εμφανίζει τα αποτελέσματα στο standard output χωρισμένα με τον μηδενικό χαρακτήρα και μετά τρέχει η du η οποία περιμένει να διαβάσει την λίστα με τα αρχεία των οποίων το μέγεθος θέλεις να εμφανίσεις από το αρχείο - δηλαδή το standard input. Έπειτα έχουμε το ίδιο sort και tail.

  • Like 5
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 1 μήνα μετά...

Θέλω να φτιάξω λίγο την συλλογή με τις σειρές και θέλω να μετονομάσω πολλά αρχεία μαζί.

 

Πχ Έχουμε τον φάκελο Season 8. Μέσα περιέχει 24 επεισόδια mkv και 24 srt. Πως μπορώ να τα μετονομάσω σε αυτό το format: "Criminal Minds - 8x01 - "

 

Μετά την δεύτερη παύλα θα βάλω το όνομα του επεισοδίου. Προφανώς θέλω να αυξάνει και ο αριθμός του επεισοδίου 01 02 03 κλπ. Το srt θέλω να έχει το ίδιο όνομα με το επεισόδιο.

 

Ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...