Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Τεμπελχανά :P

 

#!/bin/bash

koko() {
  for i in {1..21}; do 
  pstr="########################"
  dstr="------------------------"
  echo -ne "\rWorking:[${pstr:0:$i}${dstr:0:21-$i}]"
  sleep 0.1
  done
}

koko
Σου κάνει κάτι τέτοιο ?

 

Η έκφραση ${pstr:0:$i} αντί να σου δώσει όλο το pstr σου επιστρέφει μόνο ένα υπό-αλφαριθμητικό του, από τη θέση 0 μέχρι τη θέση $i δηλαδή θα σου εμφανίσει i διέσεις #. Αντίστοιχα η άλλη έκφραση θα σου δώσει 21-i παύλες. Όσο μεγαλώνει το i θα αυξάνονται οι διέσεις και θα μειώνονται οι παύλες.

 

 

Θα ηταν ιδανικο, αλλα αν αλλαξουμε το 21 με 50 πχ, δεν παιζει σωστα.

  • Απαντ. 889
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Θα ηταν ιδανικο, αλλα αν αλλαξουμε το 21 με 50 πχ, δεν παιζει σωστα.

Ναι γιατί δεν είναι αρκετά μεγάλα τα strings που χρησιμοποίησα. Μπορείς αντί για το σκέτο $i που χρησιμοποίησα να ανάγεις τον αριθμό που έχεις στο μέγεθος του string που έχεις δηλώσει.

Δημοσ.

δηλαδη? $i * 24 / $total

 

:mellow:

Ναι κάτι τέτοιο (όπως το είχες αρχικά δηλαδή).

 

Πόσο μεγάλο μπορεί να γίνει το total ? Αν πχ μιλάμε για 80-100, τότε κάνε ένα τόσο μεγάλο string και βάλε απευθείας το counter χωρίς αναγωγή.

Δημοσ.

Δουλεψε ετσι τελικα:
 

echo -ne "\rWorking:[${pstr:0:$(( $i * 24 / 50 ))}${dstr:0:24-$(( $i * 24 / 50 ))}]"
koko() {
  for i in {1..50}; do 
    echo mpee
    sleep 0.1
  done
}

total=50
pstr="########################"
dstr="------------------------"

koko | while read ln; do
  b=$(( b + 1 ))
  echo -ne "\rWorking:[${pstr:0:$(( $b * 24 / $total ))}${dstr:0:24-$(( $b * 24 / $total ))}] $(( $b * 100 / $total ))%"
done

Μπορει να γραφτει πιο μαζεμενα το echo?

 

To total μπορει να ειναι χιλιαδες (ειναι stdout της tar να φανταστεις)

Επισης θελω να ειναι εξω απο την function ο μετρητης, σε πιπα, για να μπει εδω

 

Thanks και παλι!

 

-----------------------------------

 

Ωραιο δειχνει :-D

  • 1 μήνα μετά...
Δημοσ.

υπαρχει καποιος σοβαρος λογος που η bsdtar δεν διαβαζει σωστα το --exclude=/koko/* (δηλαδη να μεινει το /koko χωρις τα περιεχομενα του) και διαβαζει το --exclude=/koko/*?*

?

 

με το πρωτο δεν μενει καθολου το /koko, ειναι σαν να δινω --exclude=/koko, ενω με το δευτερο ειναι ok

η gnu tar διαβαζει και τα δυο σωστα και μενει το /koko χωρις τα περιεχομενα του

 

ετσι απο περιεργεια...

Δημοσ.

υπαρχει καποιος σοβαρος λογος που η bsdtar δεν διαβαζει σωστα το --exclude=/koko/* (δηλαδη να μεινει το /koko χωρις τα περιεχομενα του) και διαβαζει το --exclude=/koko/*?*

 

?

 

με το πρωτο δεν μενει καθολου το /koko, ειναι σαν να δινω --exclude=/koko, ενω με το δευτερο ειναι ok

 

η gnu tar διαβαζει και τα δυο σωστα και μενει το /koko χωρις τα περιεχομενα του

 

ετσι απο περιεργεια...

Για δοκίμασε

 

--exclude "koko/*"

Δημοσ.

Μπορω να κανω ισως μια χαζη ερωτηση αλλα επειδή γενικα δεν βλεπω παρα πολύ καλα στο μαυρο backround με λευκα γραμματα πως είναι δυνατον στο cli στο Linux πχ debian να ορισω black το backround αλλα πρασινα τα γραμματα αν γινεται ευχαριστω πολυ

Δημοσ. (επεξεργασμένο)

Μπορω να κανω ισως μια χαζη ερωτηση αλλα επειδή γενικα δεν βλεπω παρα πολύ καλα στο μαυρο backround με λευκα γραμματα πως είναι δυνατον στο cli στο Linux πχ debian να ορισω black το backround αλλα πρασινα τα γραμματα αν γινεται ευχαριστω πολυ

 

Αν είσαι σε κάποιον terminal emulator, οι περισσότεροι υποστηρίζουν αλλαγή χρωμάτων από τις ρυθμίσεις τους - στο xfce4-terminal που χρησιμοποιώ, υποστηρίζονται και color presets /"themes". 

Επεξ/σία από mobinmob
Δημοσ.

θελω μεσα σε ενα φακελο να βρω ολους τους υποφακελους με ονομα

 

Backup-[αριθμος][αριθμος]-[αριθμος][αριθμος]-[αριθμος][αριθμος][αριθμος][αριθμος] πχ Backup-20-10-2014
 
κατεληξα σε αυτο

find φακελος -maxdepth 1 -type d -regex ".*Backup-[0-9]+-[0-9]+-[0-9]+"

αλλα θελω να το περιορισω.

Περαν αυτου:

find φακελος -maxdepth 1 -type d -regex ".*Backup-[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]"

υπαρχει πιο μαζεμενος τροπος? Ξερω για το {n} αλλα πως το χωνω σε καθε pattern ξεχωριστα?
 

Thanks!

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...