Filtre: És un programa que rep dades per stdin i treu dades per stdout, sense modificar les dades entrades per stdin.


FILTRES

cat [-n] [nom_fitxer]

mostra stdin/nom_fitxer

-n numera les línies

head [-num] [nom_fitxer]

Mostra les primeres num línies del fitxer/stdin (10 per defecte)

tail [-num] [nom_fitxer]

Mostra les últimes num línies del fitxer/stdin (10 per defecte)

-f la sortida és dinàmica a mida que el fitxer canvia

wc [-lwc] [nom_fitxer]

compta línies, paraules i caràcters de nom_fitxer/stdin.

-l només el nombre de línies

-w només el nombre de paraules

-c només el nombre de caràcters

cut -cllista [nom_fitxer]

extreu les columnes citades a llista

format de llista:

A,B seleccionar columnes/camps A i B

A-B seleccionar columnes/camps des d'A fins a B

A- des de la columna/camp A fins al final

-B des del principi fins a la columna/camp B

cut -fllista -dsep [nom_fitxer]

extreu els camps citats a llista segons el separador sep

El format de la llista és igual a l'anterior

grep [-cinv] patró [nom_fitxer]

Recerca de les línies dels fitxers/stdin del patró determinat

-c només mostra el número de línia

-i ignora majúscules/minúscules

-n afegeix el número de línia

-v mostra les línies que no contenen el patró


Format de patró (expressions regulars bàsiques):

. qualsevol caràcter simple

[] conjunt de caràcters

[^ ] qualsevol caràcter no inclòs als corxets

[ - ] rangs

* 0 o més ocurrències de l'expressió precedent

+ 1 o més ocurrències de l'expressió precedent

^exp qualsevol cadena que comenci amb exp

exp$ qualsevol cadena que acabi amb exp

tr c1 c2 [nom_fitxer]

tradueix c1 per c2 de nom_fitxer/stdin

tr -s c1 [nom_fitxer]

converteix c1 consecutius en un de sol

sed 's/expr1/expr2/[g]'

Substitueix expr1 per expr2

g substitueix totes les ocurrències

sed -r 's/expr1/expr2/[g]'

Substitueix expr1 per expr2 amb expressions regulars complexes

g substitueix totes les ocurrències

sort [-ndutsep] [-k num] [nom_fitxer]

Ordenar les línies de nom_fitxer/stdin

-n ordenació numèrica

-d no té en compte caràcters que no siguin

lletres, números o blancs

-u no té en compte les línies duplicades

-tsep especifica un delimitador de camp

-knum especifica que ordenarem pel camp num

uniq [nom_fitxer]

converteix diverses línies iguals consecutives de nom_fitxer/stdin en una de sola

tee [-a] nom_fitxer1 [nom_fitxer2]

Mostra per pantalla nom_fitxer2/stdin i ho escriu a nom_fitxer1

-a enlloc de sobreescriure nom_fitxer1 afegeix

a continuació

::exemples::
  1. Del fitxer /var/log/messages mostra:

    1. el contingut de tot el fitxer

      $ cat /var/log/messages

    2. les 3 primeres línies

      $ head -3 /var/log/messages

    3. les últimes línies a mida que va canviant

      $ tail -f /var/log/messages

    4. el número de línies

      $ wc -l /var/log/messages

  2. Del fitxer /etc/passwd mostra:

    1. les tres primeres lletres dels usuaris del sistema

      $ cut -c1-3 /etc/passwd

    2. el nom i el directori de treball dels usuaris

      $ cut -d: -f1,6 /etc/passwd

  3. Mostrar els usuaris que compleixin el següent:

    1. el seu nom comenci per m o M

      $ grep -i ^m /etc/passwd

    2. el seu id estigui entre el 1000 i el 1999

      $ grep ^.*:x:1...: /etc/passwd

    3. tinguin per shell /bin/bash

      $ grep :/bin/bash$ /etc/passwd

    4. tinguin qualsevol altre shell

      $ grep -v :/bin/bash$ /etc/passwd

  4. Mostra per pantalla el contingut del fitxer /etc/passwd:

    1. amb els camps separats per un -

      $ tr “:” “-” /etc/passwd

    2. reduint totes les comes a una

      $ tr -s “,” /etc/passwd

    3. canviant la shell /bin/bash per /bin/sh

      sed 's/\/bin\/bash/\/bin\/sh/' /etc/passwd

    4. ordenat pel nom d'usuari

      sort /etc/passwd

    5. ordenat per l'identificador d'usuari

      sort -nt: -k3 /etc/passwd

Darrera modificació: dilluns, 1 juliol 2013, 09:14