Απορία σε UNIX script

Είναι δωρεάν, είναι σταθερό, είναι γρήγορο.. ας το γνωρίσουμε και λίγο καλύτερα..

Συντονιστές: Super-Moderators, Software & Hardware Moderators

Απάντηση
Darkdream3r
Δημοσιεύσεις: 7
Εγγραφή: 23 Νοέμ 2007 12:26

Απορία σε UNIX script

Δημοσίευση από Darkdream3r » 13 Δεκ 2009 19:29

Καλησπέρα σας

Θα ήθελα να ρωτήσω κατι.Εχω για παραδειγμα

echo "Dwse onoma arxeioy"
read filename
ls -al $filename | awk '$1 ~/^.r/ {print "O idioktitis mporei na diavasei to $filename"};

Αυτο λειτουργει αν βαλω ενα αρχειο.Πως μπορώ να το κάνω αυτο με πολλά αρχεία
(δηλαδη να βαλω σε ενα αρχειο οσα αρχεια θέλω για παραδειγμα και να
τρεξει η εντολη ls... σε οποια αρχεια ισχυει?

Ευχαριστώ

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Απορία σε UNIX script

Δημοσίευση από agrippas » 14 Δεκ 2009 05:01

Πρώτο:

Έχεις λάθος στη γραμμή της awk: Πρέπει να είναι:

Κώδικας: Επιλογή όλων

ls -al $filename | awk '$1 ~/^.r/ {print "O idioktitis mporei na diavasei to "$8" "$9" "$10" "$11" "$12" "$13}'
Εξήγηση:
Το όνομα του αρχείου είναι το $8 αλλά σε περίπτωση που έχει κενά βάζουμε μέχρι και το $13 ή και παραπάνω για ασφάλεια.

Δευτερο:

Αυτό που θες γίνεται ήδη. Δοκίμασε πχ. * στο prompt του προγράμματος και θα δεις ότι θα δουλέψει.
Τελευταία επεξεργασία από το μέλος agrippas την 19 Δεκ 2009 01:00, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Απορία σε UNIX script

Δημοσίευση από Alice_Cooper » 14 Δεκ 2009 11:12

me mia mikri diorthosh ....

Κώδικας: Επιλογή όλων

..."$13}';
lipi to klisimo sto string tis awk (')

Darkdream3r
Δημοσιεύσεις: 7
Εγγραφή: 23 Νοέμ 2007 12:26

Απορία σε UNIX script

Δημοσίευση από Darkdream3r » 14 Δεκ 2009 20:22

ευχαριστω πολύ.Ναι οντως εχεις δικιο τρέχει.

Ομως οταν έχω

if [ -f $filename ] ; then
ls -al ....
else
...
fi

γιατι με πεταει και μου γραφει "too many arguments"?
(εννοειται οταν παταω ενα αρχειο μου το τρεχει κανονικα)

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Απορία σε UNIX script

Δημοσίευση από Alice_Cooper » 15 Δεκ 2009 11:24

look afto kai tropopihse

Κώδικας: Επιλογή όλων

for files in $*
do
if [ -f $files ]; then
  echo "To "$files" einai kanoniko arxeio";
else
  echo "To "$files" den einai kanoniko arxeio";
fi
done

Απάντηση

Επιστροφή στο “Linux Guide”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης