Comandos del shell
En aquest article estan les ordres bàsiques que cal controlar abans de posar-se a fer scripts.
A banda d'aquests, cal utilitzar el Grep, awk i Sed. I es recomana llegit Comandos interesantes
No estan totes les opcions, per veure tot el que poden fer, executa el manual en línia amb man <comanda>
Cut
Serveix per tallar les línies segons un criteri .
Opcions
- -c talla per caràcters , es pot establir un principi i un final .
- -f talla per columnes . El delimitar de les columnes es posa amb -d
Les columnes s'especifiquen separades amb comes (no pot reordenar), es pot especificar un rang posant NM o -N o N - per dir que volem des del principi fins a N o des de N fins al final .
Exemples
$ cut -d: -f1,3 /etc/passwd
Mostra l'hora actual :
$ date | cut -c12-19
Obtenir la MAC
$ ifconfig eth0 | grep HWaddr | cut -d"" -f11
Donar format a un telèfon :
$ echo '950000000' | cut --output-delimiter "-" -c1-2,3-5,6-
Head i tail
Ordres per veure , respectivament , el principi i el final de fitxers .
Es pot definir la quantitat de línies que es volen veure .
Exemples
$ (head -5 ; tail -5) < dades
Ordre per veure les primeres 5 línies i les últimes 5 línies d'un fitxer . El ( ) serveix per agrupar els dos comandaments i que acceptin la mateixa entrada estàndard .
Paste
( Veure també [ [ # Cut | cut ] ] )
Paste serveix per unir diversos fitxers però en diferents columnes de la sortida .
Exemples
Per exemple , tenim els fitxers:
== > dades1 < == 1 2 3
== > dades2 < == a b c
== > dades3 < == * ** ***
Fem servir el paste per veure'ls en columnes :
$ Paste dades* 1 a * 2b ** 3.c ***
Tr
Tradueix caràcters o els esborra. Agafa els caràcters de l'entrada i els tradueix en funció dels paràmetres .
Cal tenir en compte que tr treballa amb la taula d'ASCII, de manera que podem establir un rang entre els caràcters a traduir :
$ echo " Hola" | tr 'a-z' 'A-Z'
Per passar a majúscules o:
$ echo "Missatge" | tr '\!-~' 'P-~\!-O'
Per xifrar segons el xifrat César tots els caràcters imprimibles del missatge amb un desplaçament de 47 . Per això tradueix de ! a ~ ( tots els caràcters imprimibles de ASCII ) pel rang de P a ~ seguit del rang de ! a O. És l'anomenat ROT47 , que és una extensió del famós [ http://es.wikipedia.org/wiki/ROT13 ROT13 ]
Opcions
- -c Treu el complement dels caràcters seleccionats.
- -d Esborra els caràcters seleccionats
- -s Esborra repetits. Aquest és molt útil per evitar dobles espais o errors de sintaxi.
Exemples
Obtenir lletres aleatòries en minúscules
$ head /dev/urandom | tr -dc "a-z"
En aquest exemple , esborra amb -d tots el que no sigui de az en posar el -c del complement .
A partir de l'exemple anterior es pot obtenir un generador d'adreces [ [ MAC ] ] :
$ head /dev/urandom | tr - dc "A-F0-9" | head -c 16 | cut --output-delimiter ":" -c1-2,3-4,5-6,7-8,9-10,11-12
S'obtenen lletres A a F i números de 0 a 9, és a dir , els símbols del [ [ hexadecimal ] ] . Després es divideixen en grups de 2 , separats per ":"
uniq
D'una llista prèviament ordenada, trau els elements sense repetir.
$ echo -e "1\n2\n3\n3\n3" | uniq
Opcions
- -c Trau la quantitat de repreticions dels elements.
- -d imprimix sols les línies duplicades.
- -u imprimix sols les línies úniques.
fold
A partir d'una entrada, retalla les línies per tindre una eixida de, com a màxim, uns caracters.
$ cat /dev/urandom | tr -dc ' -~' | fold -w12