Εντολή Τερματικού

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Εντολή Τερματικού

Δημοσίευσηαπό rantanplan » 17 Φεβ 2012, 21:15

Καλησπέρα παιδιά και παρακαλώ αν ποστάρω σε λάθος section να γίνει move το thread απο τους διαχειριστές στο section.

Θέλω μια μικρη βοηθεια όσον αφορά εντολή του τερματικού.

Θέλω να ψάχνω σε ένα directory με συγκεκριμένο όνομα αρχείου (χρησιμοποιώντας και wildchar) για να βρω μέσα στο αρχείο(α) κάποιο συγκεκριμένο string.
Κατόπιν τα αρχεία που ικανοποιούν την συνθήκη της αναζήτησης να:
1) τα κάνω zip σε ένα αρχείο με συγκεκριμένο όνομα και σε συγκεκριμένο directory ή
2) να τα κάνω copy σε συγκεκριμένο directory

Ευχαριστώ πάρα πολύ
Γνώσεις ⇛ Linux: Χαμηλό ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 14.10 32-bit
Προδιαγραφές ⇛ AMD Sempron 2.10GHz │ RAM 2 GB │ ATI Radeon HD 3200
rantanplan
babeTUX
babeTUX
 
Δημοσιεύσεις: 29
Εγγραφή: 08 Νοέμ 2008, 23:11
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό clepto » 17 Φεβ 2012, 21:20

Μεταφέρθηκε στην κατάλληλη ενότητα

1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό linuxs » 17 Φεβ 2012, 21:39

Αρχικά να ξεκαθαρίσω κάτι, ψάχνεις ένα σκριπτάκι-προγραμματάκι που να τα κάνει όλα αυτά? Η απλά θέλεις τις εντολές που μπορείς να χρησιμοποιήσεις? :/
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό rantanplan » 17 Φεβ 2012, 22:18

Βασικά για εντολή με redirect αν κατάλαβα καλά απο αυτά που διάβασα, αν φυσικά γίνεται.

Σε ευχριστω πολύ
Γνώσεις ⇛ Linux: Χαμηλό ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 14.10 32-bit
Προδιαγραφές ⇛ AMD Sempron 2.10GHz │ RAM 2 GB │ ATI Radeon HD 3200
rantanplan
babeTUX
babeTUX
 
Δημοσιεύσεις: 29
Εγγραφή: 08 Νοέμ 2008, 23:11
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό linuxs » 17 Φεβ 2012, 22:27

Σε ένα φάκελο με ένα συγκεκριμένο όνομα αρχείου => υπάρχει μόνο ένα αρχείο!

έγραψε:για να βρω μέσα στο αρχείο(α)

δεν μπορείς να έχεις αρχεία με το ίδιο όνομα αρχείου :/

Όπως κατάλαβες υπάρχει μια μικρή ασάφεια. εξήγησέ μου αν μπορείς γιατί αλλάζει αυτό που θέλεις να κάνεις! Αν μαντεύω καλά, έχεις έναν φάκελο και πολλά αρχεία μέσα. Θέλεις να "σκανάρεις" όλα τα αρχεία και να ψάξεις να έχουν κάποιο συγκεκριμένο string μέσα. Όσα έχουν αυτό το string (ικανοποιούν την συνθήκη) θέλεις να τα ζιπάρεις κτλ...

Σωστα?
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό Ilias95 » 17 Φεβ 2012, 22:34

Νομίζω ότι αυτό θα δουλέψει:
Κώδικας: Επιλογή όλων
for x in *; do a=$(grep petr* $x); if (($(expr length "$a")>0)); then cp "$x" "/home/ilias/output/$x"; fi; done

1) Εκτελείς την εντολή όταν είσαι μέσα στον κατάλογο με τα αρχεία.
2) Στο "/home/ilias/output/$x" αλλάζεις το /home/ilias/output/ με τον κατάλογο όπου θέλεις να αποθηκευτούν τα αρχεία σου.
Όσα αρχεία πληρούν τις προϋποθέσεις θα αντιγραφούν εκεί.
3)Στο grep petr* $x θα αλλάξεις το petr* με αυτό που θες να ψάξεις.

Δες και αν σε βολεύει θα το κάνω πιο εύχρηστο.

Edit: Και εγώ λάθος κατάλαβα το πρόβλημα. Με το παραπάνω θα ψάξεις ΟΛΑ τα αρχεία του καταλόγου από όπου εκτελείται η εντολή για κάποιο μοτίβο ή απλό string.
Τελευταία επεξεργασία από Ilias95 και 18 Φεβ 2012, 19:57, έχει επεξεργασθεί 4 φορά/ες συνολικά
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό rantanplan » 17 Φεβ 2012, 22:35

Ναι αυτό θέλω! Όσον αφορά αυτό που πολύ σωστά επισήμανες επετρεψέ μου να το εξηγήσω λίγο καλύτερα.

Εννοούσα ότι μέσα σε ένα directory μπορεί να έχω πχ τα εξής αρχεία: file1, file2, file3 κτλ.
Θα ήθελα λοιπόν να ψάχνω μέσα σε αυτόν το φάκελο για το αρχεία με όνομα file* που περιέχουν ένα συγκεκριμένο string.

Ελπίζω να έγινα το εξήγησα λίγο καλύτερα τώρα.

Ευχαριστώ πολύ
Γνώσεις ⇛ Linux: Χαμηλό ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 14.10 32-bit
Προδιαγραφές ⇛ AMD Sempron 2.10GHz │ RAM 2 GB │ ATI Radeon HD 3200
rantanplan
babeTUX
babeTUX
 
Δημοσιεύσεις: 29
Εγγραφή: 08 Νοέμ 2008, 23:11
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό linuxs » 17 Φεβ 2012, 23:00

Θα προσπαθήσω να σε βοηθήσω με κάτι που λειτουργεί ωστόσο δεν είμαι τόσο καλός σε bash scripting οπότε σίγουρα θα υπάρχει πιο εύκολη και καλύτερη λύση. Περίμενε απο κάποιο άλλο παιδί. Πρέπει να γράψεις ένα scriptaki ονόμα σε το script.sh και αποθήκευσέ το στο Home folder σου

Για να το εκτελέσεις αλλάζεις τα δικαιώματα και προσθέτεις αυτό της εκτέλεσης:
Κώδικας: Επιλογή όλων
chmod +x script.sh


Το εκτελείς αν ανοίξεις ένα τερματικό και κανεις:
Κώδικας: Επιλογή όλων
./script.sh


Τι γράφεις τώρα στο script... :P
Θα χρησιμοποιούσα ενα while loop για να το κάνω σε όλα τα αρχεία
Υπάρχει η εντολή cat που σου εμφανίζει τα περιεχόμενα ενός αρχείου.
Υπάρχει η εντολή grep που σου επιστρέφει αν υπάρχει ένα κομμάτι μέσα σε ένα αρχείο - παίρνει είσοδο αι βγάζει έξοδο( ως είσοδος θα είναι το cat file?.txt δλδ τα περιεχόμενα του αρχείου και η έξοδος η λέξη που θέλεις)
Την grep και την cat τις ενώνεις με το '|' δλδ κάνεις κάτι σαν, cat file?.txt | grep <την λέξη που ψάχνεις>
Μέσα στο while μπορείς να λές, αν το αποτέλεσμα του grep είνια αυτό που θες τότε κάνε κάτι με την if else.
Αυτό που θα κάνεις είναι να μαζεύεις τα ονόματα των αρχείων που θελεις και μετά,
ξανά με pipe το αποτέλεσμα το κάνεις zip

Έχεις ιδέα απο προγραμματισμό?

έγραψε:Αν δεν έχεις ιδέα απο προγραμματισμό, δεν θα μπορέσεις να τα κάνεις εύκολα! :/ Εκτός και έχεις όρεξη να ασχοληεθείς. Δέν ξέρω αν υπάρχει πιο εύκολη λύση τώρα ίσως προτείνει κάποιο άλλο παιδί.
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό pmav99 » 17 Φεβ 2012, 23:19

To πρόγραμμα ack έχει φτιαχτεί για τέτοιου είδους αναζητήσεις.
http://webcache.googleusercontent.com/s ... =firefox-a
(η κανονική σελίδα είναι κάτω)
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Εντολή Τερματικού

Δημοσίευσηαπό linuxs » 17 Φεβ 2012, 23:22

Προφανώς ξέχνα ότι σου είπα θα σε απογοητεύσουν :P Καλή συνέχεα...
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Επόμενο

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron