Σελ. 78 από 149 ΠρώτηΠρώτη ... 5868737677787980838898 ... ΤελευταίαΤελευταία
Εμφάνιση 1.156-1.170 από 2222
  1. #1156
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.227
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Καλησπερα σε ολους. Θελω θα σβησω τα περιεχομενα ενος φακελου, ο οποιος εχει κυριως υποφακελους, αλλα οχι τον ιδιο το φακελο. Πως θα το κανω?
    Συγκεκριμενα το θελω για το φακελο thumbnails που λεω εδω.

    http://www.adslgr.com/forum/threads/...77#post6121277
    Σίγουρα δεν έχω καταλάβει σωστά αλλά κάτι τέτοιο εννοείς ?
    Κώδικας:
    % cd .kodi/userdata/Thumbnails/
    % rm -rvf ./*
    Θα σβήσει τα πάντα κάτω από τον κατάλογο Thumbnails χωρίς όμως αυτόν.
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  2. #1157
    Εγγραφή
    01-04-2007
    Ηλικία
    36
    Μηνύματα
    841
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    11.438 / 1.018
    ISP
    Wind
    DSLAM
    Wind - ΤΟΥΜΠΑ
    Παράθεση Αρχικό μήνυμα από imitheos Εμφάνιση μηνυμάτων
    Σίγουρα δεν έχω καταλάβει σωστά αλλά κάτι τέτοιο εννοείς ?
    Κώδικας:
    % cd .kodi/userdata/Thumbnails/
    % rm -rvf ./*
    Θα σβήσει τα πάντα κάτω από τον κατάλογο Thumbnails χωρίς όμως αυτόν.
    Εγώ που φοβάμαι πολύ την rm -rf , συνήθως αν θέλω να σβήσω κάτι το τρέχω πρώτα δοκιμαστικά με find + echo ως εξής:

    Κώδικας:
    find <directory>/* -exec echo {} \;
    και αν με μια ματιά δω ότι τα βρίσκει σωστά απλά αλλάζω το echo με rm
    Κώδικας:
    find <directory>/* -exec rm {} \;
    Πχ μπορείς να τρέξεις τα εξής:
    Κώδικας:
    find ~/.kodi/userdata/Thumbnails/* -exec echo {} \;
    find ~/.kodi/userdata/Thumbnails/* -exec rm {} \;
    Υπάρχουν και καλύτεροι τρόποι, ειδικά αν είναι πάρα πολλά τα αρχεία, αλλά:
    1. Με κάνει να νιώθω μια υποτυπώδη ασφάλεια και μικραίνει σε κάποιο βαθμό την πιθανότητα να σβήσω κάτι κατά λάθος
    2. Είναι αρκετά πιο ευέλικτη από την rm γιατί μπορείς να προσθέσεις την παράμετρο -name που φιλτράρει τα αποτελέσματα με βάση το filename.
    3. Είναι μία εντολή που μου έχει φανεί απίστευτα χρήσιμη όσο καιρό παίζω με linux και τη χρησιμοποιώ συνέχεια έτσι κι αλλιώς, και νομίζω καλό είναι να τη γνωρίζει κανείς.

    - - - Updated - - -

    4. Μπορείς να βάλεις ό,τι εντολή θες μετά το -exec! (παραλίγο να ξεχάσω ένα από τα πιο δυνατά σημεία της find...)

  3. #1158
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.521
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Δεν γινεται να το κανω με μια εντολη μια κι εξω? Ρωταω επειδη το σκριπτακι που εκτελει το openelec στην εκκινηση, εκτελει τα οσα βλεπει γραμμη γραμμη. Πχ
    Κώδικας:
    rm .kodi/userdata/Thumbnails/*
    γιατι το δοκιμασα πριν λιγο και υποφακελοι ειναι ακομα εκει.
    ديميتريس

  4. #1159
    Εγγραφή
    07-11-2005
    Περιοχή
    /dev/null
    Ηλικία
    41
    Μηνύματα
    1.610
    Downloads
    5
    Uploads
    0
    Ταχύτητα
    20480/1024
    ISP
    Forthnet
    DSLAM
    ΟΤΕ - ΠΑΤΗΣΙΑ
    Router
    OpenBSD -stable
    SNR / Attn
    6(dB) / 12(dB)
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Δεν γινεται να το κανω με μια εντολη μια κι εξω? Ρωταω επειδη το σκριπτακι που εκτελει το openelec στην εκκινηση, εκτελει τα οσα βλεπει γραμμη γραμμη. Πχ
    Κώδικας:
    rm .kodi/userdata/Thumbnails/*
    γιατι το δοκιμασα πριν λιγο και υποφακελοι ειναι ακομα εκει.
    H `rm` δε σβήνει φακέλους. Όπως είπε και ο imitheos, `rm -rf ./*` μέσα στον φάκελο Thumbnails.
    Richard Stallman: "I see you are being your usual friendly self ;-}."
    Theo de Raadt: "Yes, and you are being the usual slimy hypocritical asshole."

  5. #1160
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.521
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Αν κανω
    Κώδικας:
    rm -r .kodi/userdata/Thumbnails/*
    δεν θα σβησει και το φακελο thumbnails?
    ديميتريس

  6. #1161
    Εγγραφή
    07-11-2005
    Περιοχή
    /dev/null
    Ηλικία
    41
    Μηνύματα
    1.610
    Downloads
    5
    Uploads
    0
    Ταχύτητα
    20480/1024
    ISP
    Forthnet
    DSLAM
    ΟΤΕ - ΠΑΤΗΣΙΑ
    Router
    OpenBSD -stable
    SNR / Attn
    6(dB) / 12(dB)
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Αν κανω
    Κώδικας:
    rm -r .kodi/userdata/Thumbnails/*
    δεν θα σβησει και το φακελο thumbnails?
    Όχι. Γιατί το wildcard κάνει glob στα files μέσα στον φάκελο Thumbnails και όχι στον ίδιο τον φάκελο. Αν έδινες `rm -r .kodi/userdata/Thumbnails*` (χωρίς το / στο τέλος του directory), τότε θα το ξήλωνε ολόκληρο.

    Κάνε και δοκιμή να δεις. Π.χ.
    Κώδικας:
    mkdir -p ~/todelete/dir{1,2,3} && touch ~/todelete/file{1,2,3}
    . Θα σου φτιάξει το directory `~/todelete` που μέσα θα έχει 3 directories (dir1, dir2, dir3) και 3 files (file1, file2, file3). Δώσε
    Κώδικας:
    rm -rf ~/todelete/*
    και δες τι θα γίνει.
    Richard Stallman: "I see you are being your usual friendly self ;-}."
    Theo de Raadt: "Yes, and you are being the usual slimy hypocritical asshole."

  7. #1162
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.521
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Οντως δουλευει οπως πρεπει. Ευχαριστω
    ديميتريس

  8. #1163
    Εγγραφή
    30-01-2005
    Περιοχή
    City of light with thy violet crown
    Ηλικία
    44
    Μηνύματα
    6.990
    Downloads
    23
    Uploads
    0
    Ταχύτητα
    150/30Mbps
    ISP
    BT FTTP
    Router
    pfSense/Openreach ONT
    @guardianhelm: Αντί για -exec rm, μπορείς να κάνεις κατευθείαν -delete. Υποστηρίζεται εδώ και χρόνια από τη find
    Όταν ενώνουμε τις δυνάμεις μας, μπορούμε να πετύχουμε το ακατόρθωτο - Παναγιώτης Γιαννάκης

    Never say never, because limits, like fears, are often just an illusion -
    Michael Jordan


  9. #1164
    Εγγραφή
    01-04-2007
    Ηλικία
    36
    Μηνύματα
    841
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    11.438 / 1.018
    ISP
    Wind
    DSLAM
    Wind - ΤΟΥΜΠΑ
    Παράθεση Αρχικό μήνυμα από megahead13 Εμφάνιση μηνυμάτων
    @guardianhelm: Αντί για -exec rm, μπορείς να κάνεις κατευθείαν -delete. Υποστηρίζεται εδώ και χρόνια από τη find
    Το έχω υπόψη μου, ευχαριστώ
    Ανέφερα την -exec επειδή είναι ακριβώς το ίδιο syntax που χρησιμοποιείς για την echo οπότε είναι λίγο πιο εύκολο να επιβεβαιώσεις ακριβώς τι σβήνεις. Στην πράξη μάλλον δεν έχει κάποιο νόημα να το κάνει κανείς όπως λέω, απλά ικανοποιεί την παρανοϊκή πλευρά του εαυτού μου που ποτέ δεν θα νιώσει αρκετά άνετα με την κονσόλα και το μη αναστρέψιμο της rm

    Αλλά ακόμα κι έτσι το dry run που περιέγραψα μάλλον είναι ισοδύναμο με το

    find <directory> -print
    find <directory> -delete

    που είναι και πιο αποδοτικά

  10. #1165
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.521
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Ειπα να δοκιμασω αυτο εδω το σκριπτακι

    https://github.com/marguerite/linux-...g_wallpaper.sh

    Αλλα οταν το τρεχω μου λεει
    Κώδικας:
    $ sh bing_wallpaper.sh 
    bing_wallpaper.sh: 7: bing_wallpaper.sh: Syntax error: "(" unexpected
    Γιατι?
    ديميتريس

  11. #1166
    Εγγραφή
    01-04-2007
    Ηλικία
    36
    Μηνύματα
    841
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    11.438 / 1.018
    ISP
    Wind
    DSLAM
    Wind - ΤΟΥΜΠΑ
    Το πρόβλημα είναι στη γραμμή 7

    Από εδώ:

    You're using the wrong syntax to declare functions. Use this instead:

    Κώδικας:
    contains() {
        # Function
    }
    Or this:

    Κώδικας:
    function contains {
        # function
    }
    But not both.
    Σβήσε είτε τις παρενθέσεις είτε το 'function' στην αρχή της γραμμής 7

    - - - Updated - - -

    Επίσης φταίει που τρέχεις το script με απλό sh.

    Το shebang το ορίζει ως bash script αλλά εσύ το κάνεις bypass. Είτε κάνε τις αλλαγές που σου είπα και άλλαξε το shebang σε #!/bin/sh, είτε (πιο σωστά) τρέξε το ως:

    Κώδικας:
    /bin/bash bing_wallpaper.sh
    ή ως

    Κώδικας:
    chmod +x bing_wallpaper.sh
    ./bing_wallpaper.sh
    Από εδώ

  12. #1167
    Εγγραφή
    08-03-2007
    Μηνύματα
    23.521
    Downloads
    25
    Uploads
    0
    ISP
    ΟΤΕ Conn-x
    Αυτο ηταν, ηθελε bash. Μου εχει ξανατυχει ακομα 1-2 φορες παλιοτερα. Αλλα γιατι το κανει, αφου το bash ειναι οντως το shell που χρησιμοποιει ο χρηστης μου?
    Κώδικας:
    $ echo $SHELL
    /bin/bash
    Πρεπει να του κανω αλλαγες. Το feh βαζει την εικονα οπου να 'ναι και οπως να 'ναι και το σκριπτ δεν τελειωνει στο τελος, επειδη περιμενει 24 ωρες να αλλαξει το wallpaper
    Κώδικας:
    NOW=$(date +%s)
        SLEEP=`echo $TOMORROW-$NOW|bc`
        sleep $SLEEP
    done
    Αν σβησω αυτο το κομματι θα ειναι καλα? Να σβησω κι αλλα? Βασικα, θα το βαλω να τρεχει σε καθε εκκινηση οταν το διορθωσω.
    ديميتريس

  13. #1168
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Ας κάνω κι εγώ μια ερώτηση:

    Έχουμε 2 directories, Α και Β, φυσικά τα ονόματά τους είναι utf8 και μπορεί να περιέχουν και κενά.

    Έχουμε επίσης ένα string Γ, επίσης utf8 και επίσης μπορεί να περιέχει και κενά.

    Θέλω να ψάξω όλα τα αρχεία και directories κάτω από το Α, για όλα τα αρχεία που περιέχουν το string Γ στο όνομά τους, και να κάνω relative symlinks αυτών στο directory B.

    ΠΡΟΣΟΧΗ !!!

    Στο directory Α, αν ένα αρχείο ή directory είναι και το ίδιο symlink, να το αγνοεί, καθώς κάποια στιγμή θα πέσει στο "πραγματικό" αρχείο ή directory. Έτσι αποφεύγονται τα διπλά symlinks, όπως και δεν χρειάζεται να κάνω resolve τυχόν αλυσιδωτά symlinks μέχρι να βρω το τελικό αρχείο στο οποίο δείχνουν.

    Θεωρώ πιο εύχρηστο/λογικό, να δίνονται στο script σαν παράμετροι το Α και το Γ, και το Β να μην δίνεται αλλά να θεωρείται ότι είναι το τρέχον directory.
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  14. #1169
    Εγγραφή
    01-04-2007
    Ηλικία
    36
    Μηνύματα
    841
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    11.438 / 1.018
    ISP
    Wind
    DSLAM
    Wind - ΤΟΥΜΠΑ
    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Αυτο ηταν, ηθελε bash. Μου εχει ξανατυχει ακομα 1-2 φορες παλιοτερα. Αλλα γιατι το κανει, αφου το bash ειναι οντως το shell που χρησιμοποιει ο χρηστης μου?
    Κώδικας:
    $ echo $SHELL
    /bin/bash
    Το shebang σου λέει με ποιο shell να τρέξει αν δεν ορίσεις εσύ. Υπάρχει δηλαδή για την περίπτωση που τρέχεις το script σαν εκτελέσιμο πρόγραμμα, με ./ δηλαδή μπροστά. Όταν το καλείς με sh μπροστά (ή με bash/zsh/fish/whatever), ουσιαστικά του λες "τρέξτο με τον interpreter που σου λέω εγώ αντί για αυτό που ορίζεται στο shebang".

    Παράθεση Αρχικό μήνυμα από jim_p Εμφάνιση μηνυμάτων
    Πρεπει να του κανω αλλαγες. Το feh βαζει την εικονα οπου να 'ναι και οπως να 'ναι και το σκριπτ δεν τελειωνει στο τελος, επειδη περιμενει 24 ωρες να αλλαξει το wallpaper
    Κώδικας:
    NOW=$(date +%s)
        SLEEP=`echo $TOMORROW-$NOW|bc`
        sleep $SLEEP
    done
    Αν σβησω αυτο το κομματι θα ειναι καλα? Να σβησω κι αλλα? Βασικα, θα το βαλω να τρεχει σε καθε εκκινηση οταν το διορθωσω.
    Δεν είμαι σίγουρος, δεν έχω ασχοληθεί ιδιαίτερα με scripting

  15. #1170
    Εγγραφή
    01-05-2013
    Μηνύματα
    121
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL
    ISP
    ΟΤΕ Conn-x
    Παράθεση Αρχικό μήνυμα από WAntilles Εμφάνιση μηνυμάτων
    Ας κάνω κι εγώ μια ερώτηση:

    Έχουμε 2 directories, Α και Β, φυσικά τα ονόματά τους είναι utf8 και μπορεί να περιέχουν και κενά.

    Έχουμε επίσης ένα string Γ, επίσης utf8 και επίσης μπορεί να περιέχει και κενά.

    Θέλω να ψάξω όλα τα αρχεία και directories κάτω από το Α, για όλα τα αρχεία που περιέχουν το string Γ στο όνομά τους, και να κάνω relative symlinks αυτών στο directory B.

    ΠΡΟΣΟΧΗ !!!

    Στο directory Α, αν ένα αρχείο ή directory είναι και το ίδιο symlink, να το αγνοεί, καθώς κάποια στιγμή θα πέσει στο "πραγματικό" αρχείο ή directory. Έτσι αποφεύγονται τα διπλά symlinks, όπως και δεν χρειάζεται να κάνω resolve τυχόν αλυσιδωτά symlinks μέχρι να βρω το τελικό αρχείο στο οποίο δείχνουν.

    Θεωρώ πιο εύχρηστο/λογικό, να δίνονται στο script σαν παράμετροι το Α και το Γ, και το Β να μην δίνεται αλλά να θεωρείται ότι είναι το τρέχον directory.
    Χωρίς να το έχω δοκιμάσει, κάτι τέτοιο μπορεί να δουλεύει:
    Κώδικας:
    cd B; find relative/path/to/A -not -type s -name "*Γ*" -exec ln -s {} \;

Σελ. 78 από 149 ΠρώτηΠρώτη ... 5868737677787980838898 ... ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Βοήθεια για ένα απλό bash script
    Από AddictedToChaos στο φόρουμ Unix - Linux
    Μηνύματα: 34
    Τελευταίο Μήνυμα: 22-07-11, 01:57
  2. bash - matlab
    Από simeon.mattes στο φόρουμ Unix - Linux
    Μηνύματα: 25
    Τελευταίο Μήνυμα: 25-06-08, 23:00
  3. Bash Script help (Αρχάριος)
    Από weakwire στο φόρουμ Unix - Linux
    Μηνύματα: 12
    Τελευταίο Μήνυμα: 08-05-07, 00:41
  4. bash rename (mv)
    Από hayzel στο φόρουμ Unix - Linux
    Μηνύματα: 6
    Τελευταίο Μήνυμα: 07-01-07, 16:33

Tags για αυτό το Θέμα

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας