grep 911456 * | grep -v "<tt>" | grep "<dt>" | sed -e "s/^.*<dt>//"
-e "s/<\/dt>.*<f>[^:]*sp:/ ; /" -e "s/#.*<t>[^:]*sp:/ ; /" -e
"s/#.*<ts>/ ; /" -e "s/<\/ts>.*$//"| sed -e
"s/\([^;]*\);\([^;]*\);\([^;]*\);\([^;]*\)/ \4 ; \2; \3; \1/" | sort |
uniq -c | sort -nr
δηλαδή απλές κατά βάση εντολές που παίρνουν text input και το
επεξεργάζονται η μία μετά την άλλη. Παρότι οι επί μέρους εντολές είναι
απλές μετά από ένα σημείο είναι λογικό να χάνεις την μπάλα και να
προχωράς μέχρι την ολοκλήρωση του one-liner αργά και βασανιστικά.
Μήπως υπάρχει κάποιο tool για να γράφεις τέτοια "mini-scripts" πιο
γρήγορα/εύκολα/ανώδυνα? Ίσως κάτι σαν gui με syntax highlighting και
τη δυνατότητα να βλέπεις live το αποτέλεσμα καθώς κάνεις edit την
εντολή?
--
"The software is licensed, not sold" -- MICROSOFT LICENSE TERMS
--
linux-greek-users mailing list -- http://lists.hellug.gr
ευχαριστώ για την πρόταση Jon αλλά το gema δεν μοιάζει να είναι tool
για _διευκόλυνση σύνταξης bash one-liners_ για την επεξεργασία
κειμένου αλλά ένα tool για την _επεξεργασία κειμένου_
και γω το προτιμώ αυτό το στυλ αλλά συνήθως τέτοια τερατάκια τα
γράφεις μετά από μια τηλεφωνική συζήτηση σαν αυτή και όχι με ησυχία
και όρεξη για να γράψεις τον Σωστό Κώδικα:
- κολλητός/πελάτης: Νίκο πρέπει να μου δώσεις όσο πιο γρήγορα γίνεται
μια λίστα όλων των μη ουλεριανών υπερ-εκφράσεων που βρίσκονται στα
text files με μέγεθος μεγαλύτερο του 2pi+j του server μας
- Νίκος: να πας να πνιγείς [για την ακρίβεια το λέω λίγο πιο σκληρά
γιατί είναι κολλητός]
- κολλητός: το ξέρω ότι μόνο εσύ μπορείς να το κάνεις αυτό... [κάτι
σαν λυγμός ακούγεται στο βάθος]... αν δεν το κάνεις θα χάσω έναν πολύ
καλό πελάτη...
- Νίκος: [ξεφύσημα]... άντε καλά
- κολλητός: σε πόσα λεπτά?
- Νίκος: να πας να πνιγείς
> Syntax highlighting δεν έχει το prompt του bash, αλλά όταν ανακαλείς την
> ίδια εντολή από το ιστορικό _έχει_ τα newlines που είχες δώσει αρχικά.
??? τι εννοείς? -- εγώ βλέπω αυτό:
# ls |\
> tail -n1
Πρότυπα
# !!
ls |tail -n1 <--- που είναι τα new lines?
Πρότυπα
> ΥΓ: Προσωπικά με βοηθάει επίσης να έχω τα editing features του Emacs,
> οπότε πολλές φορές ανοίγω shell *μέσα* από το Emacs με `M-x shell',
> ακριβώς για να μπορώ να μετακινηθώ εύκολα, γρήγορα και με πιο βολικό
> τρόπο σε μέρη μιας εντολής που είναι κάπως μεγάλη.
νομίζω πως μετά τα 40 είναι αδύνατον να μάθω emacs :| (όχι ότι τα
κατάφερα λίγο νωρίτερα)
> ΥΓ2: http://www.codinghorror.com/blog/archives/001311.html
LOL... πάντως έχω πολύ καλή δικαιολογία που πάρσαρα xml με regexs :)
δυστυχώς είναι η μικρή διαφορά με το σκέτο bash. Ότι θα μπορούσα να
κερδίσω από το syntax highlighting (αν το προσαρμόσω για αυτή τη
δουλειά) το χάνω στην αμεσότητα του up arraow - edit - enter που σου
δίνει το bash
... οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½. οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½,
οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½: οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ shell script, οΏ½οΏ½ regular
expressions οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ sed, οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ HTML οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ regular
expressions. οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½
οΏ½οΏ½οΏ½ οΏ½οΏ½ "οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½" οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
Σίγουρα είναι αλλά είμαι βέβαιος πως θα μπορούσε να είναι λιγότερο.
Υποθέτω ότι 9 στις 10 φορές θα γλίτωνα πολύ χρόνο αν είχα ένα tool με
τα εξής καλούδια:
α) τρία panes: input text, command, output text
β) έναν αξιοπρεπή editor λίγο customized ώστε να βοηθά στην γρήγορη
σύνταξη της εντολής
όπου customized =
* να κάνει ένα minimum syntax highlighting
* με ένα shortcut να κάνει paste το selected text με escaping
κατάληλο για regex
* να αλλάζει αυτόματα γραμμή σε κάθε pipe και σε κάθε -e του sed
γ) τη δυνατότητα να βλέπω live τις επιδράσεις των αλλαγών που κάνω στο
command pane
από ότι κατάλαβα όμως 99% κάτι τέτοιο δεν υπάρχει οπότε sorry για τη φλυαρία
> Δεν ξερω ποσο syntax highlighting μπορεις να
> κανεις σε κατι τοσο generic [...] Στην προκειμενη περιπτωση,
> εχουμε τρια επιπεδα στο περιεχομενο: Το ιδιο το shell script, τα regular
> expressions που περνας στην sed, και την HTML που περιεχουν τα regular
> expressions.
:) και ξέχασες το 4ο επιπεδο: η XML αναπαριστά κάποια άλλα δεδομένα :)
> Αρνουμαι να δεχτω οτι καποιος εχει κατσει να φτιαξει κατι που
> να "καταλαβαινει" εστω και κατι περισσοτερο απο το πρωτο επιπεδο.
ευτυχώς δεν χρειάζεται να γίνει κάτι τέτοιο -- στην πραγματικότητα
ελάχιστα πράγματα από τα 2 πρώτα επίπεδα χρειάζεται να γίνουν
highlight για να βοηθήσουν
οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½ Emacs - οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½, οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½
οΏ½οΏ½οΏ½οΏ½ elisp οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.
οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ Emacs οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½.