euoukos Δημοσ. 9 Ιανουαρίου 2007 Share Δημοσ. 9 Ιανουαρίου 2007 Καλημέρα σας! Λοιπόν, χρειάζομαι βοήθεια σε εντόλή find σε UNIX. Έχω συντάξει την ακόλουθη έκφραση find . | xargs grep someting > ./temp με την οποία αναζητώ τα αρχεία που περιέχουν την λέξη someting μέσα στο ίδιο directory και αποθηκεύει τα ονόματα των αρχείων σε ένα file, που το ονομάζω temp. Η ερώτησή μου είναι πως μπορώ να ορίσω μια έκφραση που να ορίζει ότι επέλεξε όλα τα someting όχι όμως αυτά που έχουν έστω τη λέξη not μπροστά από το someting, ανεξαρτήτων spaces, δηλαδή "επέλεξε όλα τα αρχεία που έχουν τη λέξη someting ανά γραμμή, αλλά μη λάβεις υπόψην σου αυτά που έχουν την έκφραση "not someting", "...not ... someting...." κλπ, και να κάνει replace τη λέξη someting με κάποια άλλη, π.χ. nothing." Ευχαριστώ εκ των προταίρων. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
capthookb Δημοσ. 9 Ιανουαρίου 2007 Share Δημοσ. 9 Ιανουαρίου 2007 Για δοκίμασε αυτό: > grep -Ro something * | sed 's\:.*\\g' > temp1 && grep -Ro not.*something * | sed 's\:.*\\g' > temp2 && diff temp1 temp2 | grep '<' | sed 's\< \\g' > results Στο results πρέπει να αναγράφονται τα ονόματα των αρχείων που θες. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
euoukos Δημοσ. 11 Ιανουαρίου 2007 Μέλος Share Δημοσ. 11 Ιανουαρίου 2007 Για δοκίμασε αυτό: > grep -Ro something * | sed 's\:.*\\g' > temp1 && grep -Ro not.*something * | sed 's\:.*\\g' > temp2 && diff temp1 temp2 | grep '<' | sed 's\< \\g' > results Στο results πρέπει να αναγράφονται τα ονόματα των αρχείων που θες. Σε ευχαριστώ πολύ... θα το δοκιμάσω και θα ενημερώσω! :razz: :-P Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.