Ricerca tra la vecchia roba

Sto per diventare rincoglionito per colpa della command line

Posted: Dicembre 15th, 2008 | Author: | Filed under: General | Commenti disabilitati su Sto per diventare rincoglionito per colpa della command line

La potenzialità della shell UNIX è stupefacente, solo che alcune volte si è convinti di aver masterizzato (licenza poetica del qui presente che sta ad indicare l’essere diventato maestro, mutuato dall’inglese ‘mastering’) la linea di comando e di poter, con poche righe e costrutti di conchiglia, calcolare l’impossibile; dopo una giornata a cercare di calcolare i pesi dei vertici di un grafo ho scoperto come mai le regole del makefile che utilizzano il comando sort non funzionano. Ma prima di tutto una citazione che mi gira in testa da tutta la giornata (che probabilmente ho già citato)

Never write it in ‘C’ if you can do it in ‘awk’;
Never do it in ‘awk’ if ‘sed’ can handle it;
Never use ‘sed’ when ‘tr’ can do the job;
Never invoke ‘tr’ when ‘cat’ is sufficient;
Avoid using ‘cat’ whenever possible.

–Taylor’s Laws of Programming (via linuxgazette)

Ecco il problema: dovevo ordinare un sequenza di vertici in modo da ottenere quanti altri vertici sono ad essi collegati e lo dovevo fare rispetto alla prima colonna; l’opzione per scegliere la colonna rispetto a cui fare l’ordinamento è -k, il problema lo scopro dalla man page

‘-k pos1[,pos2]’
‘–key=pos1[,pos2]’
    Specify a sort field that consists of the part of the line between pos1 and pos2 (or the end of the line, if pos2 is omitted), inclusive.

quindi giovani estimatori del terminale, per ordinare rispetto alla prima colonna bisogna dirgli -k 1,1 e non -k 1… porcodio.


Comments are closed.