Linux Apuntes Comandos Avanzados1
1. "*" > RESTO/TODO: Solo sustituye a TODOS los ficheros, delante/detras/en medio del fichero
todo lo que coincida con él.
2. "?" > CUALQUIER CARÁCTER: que coincida con el resto que esté escrito.
Comando sort
sort
es uno de los comandos que utilizamos mucho a la hora de realizar scripts.
Nos permite ordenar los registros o líneas de uno o más archivos. La ordenación se puede hacer por el primer carácter, por el primer campo de la línea o por un campo
distinto al primero en el caso de ficheros estructurados.
Podemos ordenar el contenido de un fichero de la siguiente manera:
sort fichero
Se realizaría la ordenación y el resultado se mostraría por pantalla. Así que, si lo que queremos es
obtener el resultado de la ordenación en un fichero, haríamos: sort fichero > ficheroordenado
Si lo que queremos es ordenar varios ficheros y añadir el resultado a otro, podemos indicar varios
ficheros en la línea de entrada:
sort fichero1 fichero2 > fichero3
Veamos una lista de los parámetros que pueden resultarnos más útiles a la hora de usar este
comando:
●
f : Este parámetro nos sirve para indicar que las mayúsculas y las minúsculas se van a tratar de forma diferente y que por tanto se va a seguir un ordenamiento alfabético.
●
●
●
n : Este parámetro nos sirve para ordenar los campos numéricos por su valor numérico.
●
k numero : De este modo especificaremos por qué columna o campo vamos a realizar la ordenación en las
versiones más recientes de Linux.
●fieldseparator= separador. Normalmente, se usa como delimitador de campos el espacio en blanco.
Podemos utilizar el parámetro fieldseparator para indicar que vamos a usar otro delimitador de campo
cualquiera. Ej: fieldseparator=, La opción abreviada de fieldseparator es t.
●
u : Nos permite suprimir todas las líneas repetidas después de realizar la ordenación.
r : Nos permite realizar una ordenación inversa, es decir, de mayor a menor. +número : Este parámetro nos sirve para indicar la columna o campo por el que vamos hacer la ordenación.
Esta sintaxis está en desuso y se va a eliminar. En su lugar se utilizará la siguiente sintaxis:
Y algunos ejemplos con dichos parámetros:
Obtener un listado de los ficheros del directorio actual, ordenado por tamaño de archivo:
$ ls l | sort +4n
Obtener un listado de los ficheros del directorio actual, ordenado de mayor a menor por tamaño de
archivo:
$ ls l | sort r +4n
Obtener un listado de los ficheros del directorio actual, ordenado por nombre del archivo:
$ ls l | sort +7
Ordenar un fichero eliminando las líneas repetidas:
$ sort u fichero
Ordenar un fichero pen el que los campos están separados por comas, por el campo número 3:
$ sort t, +3
Veamos un ejemplo en el que ordenemos usando la sintaxis actual para ordenar por columnas:
Imaginemos que queremos ver un listado de usuarios del fichero /etc/passwd ordenado por uid:
$ cat /etc/passwd| sort t":" k3n
Con k3 le indicamos a sort que queremos ordenar por la columna 3. Y, al añadir la opción n le
indicamos que ordene por orden numérico.
Un ejemplo que uso mucho, cuando quiero eliminar las líneas repetidas de un archivo y dejar el contenido en el mismo archivo:
$ sort o fichero u fichero
wc
cuenta líneas, palabras y caracteres.
La sintaxis es la siguiente:
wc parametro fichero
Tiene tres parámetros posibles:
l que cuenta sólo las líneas de un fichero
w cuenta las palabras de un fichero
c cuenta los caracteres de un fichero
Cut
Muestra partes de un fichero según le indiquemos. Sintaxis
cut [opciones] [fichero]
Opciones:
b lista = Selecionamos sólo esos bytes por línea.
c lista = Selecciona sólo esos caracteres por línea.
d = Usa un carácter en vez del tabulador para delimitar un campo,
debe entrecomillarse si es un carácter especial.
f lista = Selecionamos sólo esos campos/columnas. ...
Regístrate para leer el documento completo.