Δημοσιεύτηκε: 20 Δεκ 2013, 10:44
Πολλές καλημέρες!
Έχω κολλήσει στο εξής:
Ας πούμε πως σε κάποιον φάκελο μεταξύ άλλων αρχείων έχουμε μια σειρά από αρχεία του τύπου file1, file2, file3, file4, file5, file6 κ.ο.κ.
Ας υποθέσουμε πως είναι αρχεία backup.
Για να δούμε πόσα τέτοια έχουμε, έχουμε την ls file*
Αν θέλουμε να δούμε τα 2 (για παράδειγμα) τελευταία από αυτά, τότε δίνουμε ls file* | tail -n 2
Πως μπορούμε να εξαιρέσουμε αυτά τα δύο από μια εντολή διαγραφής;
Δηλαδή κάτι σαν
Έχω κολλήσει στο εξής:
Ας πούμε πως σε κάποιον φάκελο μεταξύ άλλων αρχείων έχουμε μια σειρά από αρχεία του τύπου file1, file2, file3, file4, file5, file6 κ.ο.κ.
Ας υποθέσουμε πως είναι αρχεία backup.
Για να δούμε πόσα τέτοια έχουμε, έχουμε την ls file*
Αν θέλουμε να δούμε τα 2 (για παράδειγμα) τελευταία από αυτά, τότε δίνουμε ls file* | tail -n 2
Πως μπορούμε να εξαιρέσουμε αυτά τα δύο από μια εντολή διαγραφής;
Δηλαδή κάτι σαν
- Κώδικας: Επιλογή όλων
for i in $(ls file*)
do
if [ το $i δεν ανήκει στην $(ls file* | tail -n 2) ]
then
rm file"$i"
fi
done