IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Paquet textutils

Ara es una tercera part del coreutils.

  • Coreutils
  • Shellutils
  • Textutils
  • Fileutils

Sistemes Debian

man i info

El coreutils és un paquet GNU, les ordres del coreutils tenen tant man com info.

Per a veure la informació d'una comanda es fa de la següent forma:

$ info coreutils cat

Ordres

Opcions comunes a totes les aplicacions GNU

cat

Vol dir concatenate.

Serveix per a ajuntar fitxers

Sintaxi:

$ cat fitxer1.txt fitxer2.txt fitxer3.txt

Tot i que la finalitat es concatenar, se sol fer servir per a consultar fitxers sensillets.


Combinar fitxers amb cat

[email protected]:~/Escriptori$ touch persones (hem introduït noms)
[email protected]:~/Escriptori$ nano persones (hem introduït números)
[email protected]:~/Escriptori$ nano numeros
[email protected]:~/Escriptori$ cat persones numeros 
joan 
ferran
jo
tu
ell
1
2 
3
4
56
6674
324235

Mostra els sats de linea amb la opció -E


$ cat -E numeros persones
1$
2$
3$
4$
56$
6674$
324235$
$
joan $
ferran$
jo$
tu$
ell$

Mostra caractes especials amb la opció -T

$ cat -T numeros persones
1
2
3
4
56
6674
324235 
joan 
ferran 
jo
tu 
ell


Copiar la entrada estàndard a la sortida estàndard

Utilitzar la entrada estàndard. Caràcter -

$ echo "----------------" | cat  persones - numeros 
joan 
ferran
jo
tu
ell
----------------
1
2
3
4
56
6674
324235

tac

Es l'ordre al revés, concatena al revés.

Exemple

$ tac persones numeros 
ell
tu
jo
ferran
joan  
324235
6674
56
4
3
2
1

cut

Extreu porcions de textos.

  • Te tres formes diferents de retallar:
  • Per bytes opció -b
  • Per caràcters opció -c
  • Per camps opció -f

Depenent de quina codificació tinguin els caràcters, es pot fer servir un mètode o un altre, però el més utilitzat es la opció -f.

$ date | cut -d " " -f 1 
dc


Per a veure el dia de la setmana:

 #!/bin/bash
 DIA=$(date | cut -d " " -f 1) 
 echo $DIA

Per a executar

$ ./DIA.sh 
dc


Per a que ens retorni la mac ho farem així

$ ifconfig eth8 | grep HWaddr | cut -d " " -f 11
00:25:11:82:47:fd

El programa


 #!/bin/bash
 MAC=$ ifconfig eth8 | grep HWaddr | cut -d " " -f 11
 echo $MAC

expand

Converteix tabulacions en espais i viceversa.

  • Unexpand: espais a tabuladors.
  • Expand: tabuladors a espais

Buit espais son una tabulació.

fmt

Es fa servir per a que les línies de text no sobrepassin els marges d'impressió, entre d'altres utilitats.

$ fmt -w 30 numeros 
Si us plau, tingueu en compte
que totes les contribucions
al projecte SergiTurWiki
poden ser corregides,
alterades o esborrades
per altres usuaris. Si no
desitgeu la modificació i
distribució lliure dels
vostres escrits sense el
vostre consentiment, no
els poseu ací.  A més a
més, en enviar el vostre
text, doneu fe que és
vostra l'autoria, o bé
de fonts en el domini
públic o altres recursos
lliures similars (consulteu
SergiTurWiki:Drets d'autor
per a més detalls). No
feu servir textos amb drets
d'autor sense permís!

head

Comanda útil per a mostrar inicis o finals de fitxers grans, per exemple el syslog.

$ sudo tail /var/log/syslog
$ sudo head /var/log/syslog

Per a limitar manualment el nombre de línies:

opció --n num o --lines=num

od

Permet consultar fitxers binaris sense veure tota la brossa que normalment es veu si no ho fas amb aquesta comanda

$ cat /bin/ls
4144;37z�����������������������������������������������������������������������������������������������������������������������������p�������������������������������������������������ߪ������������ժ��ɪ������������������������������������f���\���ߪP�P�P�P�P�P�P�P�P�P�h�h�h�h�h�h�h�@�@�@�@�@�@�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�h�0�0�0�0�0�0�����L�"���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������XI=��.�����������������������"���&����
                                                                      ���3$������������a;bBdLDR�\�th�i�n�G�q�rms��w�A�B�F�����Ht�
$ od /bin/ls


0313440 107400 000001 000004 000000 000000 000000 000000 000000
0313460 000004 000000 000000 000000 000301 000000 000006 000000
0313500 000003 000000 007404 004006 107404 000001 000350 000000
0313520 000007 000000 000000 000000 000004 000000 000010 000000
0313540 000312 000000 000001 000000 000003 000000 007754 004006
0313560 107754 000001 000010 000000 000000 000000 000000 000000
0313600 000004 000000 000004 000000 000317 000000 000001 000000
0313620 000003 000000 007764 004006 107764 000001 000634 000000
0313640 000000 000000 000000 000000 000004 000000 000004 000000
0313660 000330 000000 000001 000000 000003 000000 010640 004006
0313700 110640 000001 000454 000000 000000 000000 000000 000000
0313720 000040 000000 000000 000000 000336 000000 000010 000000
0313740 000003 000000 011340 004006 111314 000001 006100 000000
0313760 000000 000000 000000 000000 000040 000000 000000 000000
0314000 000343 000000 000001 000000 000000 000000 000000 000000
0314020 111314 000001 000010 000000 000000 000000 000000 000000
0314040 000001 000000 000000 000000 000001 000000 000003 000000
0314060 000000 000000 000000 000000 111324 000001 000362 000000
0314100 000000 000000 000000 000000 000001 000000 000000 000000
0314120

join

  • Per defecte join utilitza el primer camp com a camp coincident. Es poden especificar altres camps de la següent forma (un exemple):
  • -1 3 -2 2: El camp 3 del primer fitxer amb el camp 2 del primer fitxer
  • -1 1 -2 1: Aquesta és la opció per defecte: el camp 1 del primer i segon fitxer.
  • Podeu fer que join ignori majúscules i minúscules (per defecte és case sensitive) amb l'opció -i.
  • Amb l'opció -o FORMAT' es poden especificar opcions més complexes per a la sortida (resultat de la comanda) La comanda join és la comanda principal per manipular fitxers com a base de dades.

nl

paste

pr

Es feia per a preparar un fitxer per a ser imprimit. I encara funciona.

sed

  • Editor de flux de dades que ens permet dur a terme transformacions bàsiques de text en un flux d'entrada (un fitxer o una entrada des d'una canonada).
  • Accions:
  • Suprimir una línia determinada d’un fitxer
  • Suprimir un conjunt de línies determinades.
  • Suprimir línies que coincideixin amb un patró determinat.
  • Reemplaçar una cadena de text.
  • Afegir una línia després de cada línia de l’arxiu
  • Sintaxi:
$ sed [opcions] -f scrip-file [fitxer-entrada]


Com Canviar totes les cadenes 2012 a 2013 d'un fitxer txt

$ cal 2012 > calendari.txt
$ sed 's/2012/2013/'g calendari.txt > calendari2013.txt
                             2013
      Gener                 Febrer                 Març
dl dt dc dj dv ds dg  dl dt dc dj dv ds dg  dl dt dc dj dv ds dg
                  1         1  2  3  4  5            1  2  3  4
 2  3  4  5  6  7  8   6  7  8  9 10 11 12   5  6  7  8  9 10 11
 9 10 11 12 13 14 15  13 14 15 16 17 18 19  12 13 14 15 16 17 18
16 17 18 19 20 21 22  20 21 22 23 24 25 26  19 20 21 22 23 24 25
23 24 25 26 27 28 29  27 28 29              26 27 28 29 30 31
30 31                                       
       Abril                  Maig                  Juny
dl dt dc dj dv ds dg  dl dt dc dj dv ds dg  dl dt dc dj dv ds dg
                   1      1  2  3  4  5  6               1  2  3
 2  3  4  5  6  7  8   7  8  9 10 11 12 13   4  5  6  7  8  9 10
 9 10 11 12 13 14 15  14 15 16 17 18 19 20  11 12 13 14 15 16 17
16 17 18 19 20 21 22  21 22 23 24 25 26 27  18 19 20 21 22 23 24
23 24 25 26 27 28 29  28 29 30 31           25 26 27 28 29 30
30                                          
       Juliol                Agost                Setembre
dl dt dc dj dv ds dg  dl dt dc dj dv ds dg  dl dt dc dj dv ds dg
                   1         1  2  3  4  5                  1  2
 2  3  4  5  6  7  8   6  7  8  9 10 11 12   3  4  5  6  7  8  9
 9 10 11 12 13 14 15  13 14 15 16 17 18 19  10 11 12 13 14 15 16
16 17 18 19 20 21 22  20 21 22 23 24 25 26  17 18 19 20 21 22 23
23 24 25 26 27 28 29  27 28 29 30 31        24 25 26 27 28 29 30
30 31                                       
      Octubre               Novembre              Desembre
dl dt dc dj dv ds dg  dl dt dc dj dv ds dg  dl dt dc dj dv ds dg
 1  2  3  4  5  6  7            1  2  3  4                  1  2
 8  9 10 11 12 13 14   5  6  7  8  9 10 11   3  4  5  6  7  8  9
15 16 17 18 19 20 21  12 13 14 15 16 17 18  10 11 12 13 14 15 16
22 23 24 25 26 27 28  19 20 21 22 23 24 25  17 18 19 20 21 22 23
29 30 31              26 27 28 29 30        24 25 26 27 28 29 30
                                           31

Per a buscar tot el que a final de linea tingui una a; perquè el dolar significa final de linea

a$

El ^ es el contrari del dolar, per això es el principi de linea.

..^ 

Com esborrar una línia d'un fitxer

Com esborrar els últims caràcters (o els primers) de totes les línies d'un fitxer

Com convertir un fitxer de DOS a UNIX i viceversa

Com modificar un fitxer, buscar i reemplaçar text

Com eliminar una secció d'un fitxer

Com reemplaçar una secció per un altre

Afegir un caràcter al final de totes les línies

extra characters after command

sort

Es per a ordenar fitxers

sort i locales

split

Es per a tallar fitxers per si volem que entri en un dispositiu,

Empaquetar un fitxer en múltiples fitxers partits

tail

tr

Passar de majúscules a minúscules i viceversa

Eliminar un caràcter d'un fitxer

Passar un fitxer CSV a tabuladors

unexpand

uniq

Es per a elimininar linies duplicades.


Per exemple, hem creat

$ nano 
To
be
or
not
to
be
that
is
the
question

I amb el sort ho ordenem.

$ sort shake | uniq
be
is
not
or
question
that
the
to
To

xargs

wc

wc compte les paraules, així com també pot comptar línies, caràcters i bytes, cada caracter es un bite


Es pot limitar la informació de la sortida amb:

-L, --max-line-length:mostra la longitut de la línia mes llarga

-l (--lines): mostra el número de línies.

-w (--words): mostra el número de paraules.

-c (--bytes): Mostra el número de bytes.

-m (--chars): Mostra només els caràcters

exemple:

[email protected]:~/Desktop$ wc -l shakespeare.txt

10 shakespeare.txt

[email protected]:~/Desktop$ wc -l -w -c shakespeare.txt

10 10 40 shakespeare.txt

[email protected]:~/Desktop$ wc -l -w -c -m shakespeare.txt

10 10 40 40 shakespeare.txt

[email protected]:~/Desktop$ wc -l -w -c -m -L shakespeare.txt

10 10 40 40 8 shakespeare.txt

[email protected]:~/Desktop$

Altres

awk

Scripts de xarxa

Exemples ALUMNES

grep