Professional Documents
Culture Documents
1 Introducción
Un gran número de los archivos en un sistema de archivos típico son archivos de texto. Los
archivos de texto contienen sólo texto, no hay características de formato que se pueden ver
en un archivo de procesador de textos.
Debido a que hay muchos de estos archivos en un sistema típico de Linux, un gran número
de comandos existen para ayudar a los usuarios manipular archivos de texto. Hay
comandos a tanto ver y modificar estos archivos de varias maneras.
Además, hay funciones disponibles para el shell para controlar la salida de los comandos,
así que en vez de tener la salida se coloca en la ventana de terminal, la salida se puede
redirigir en otro archivo u otro comando. Estas características de redirección de
proporcionar a los usuarios un entorno mucho más flexible y potente para trabajar dentro
En este capítulo se hará cargo de los temas de los siguientes objetivos del examen Linux
Essentials:
The following is a partial list of the used files, terms, and utilities:
•find
•grep
•less
•head, tail
•sort
•cut
•wc
•xargs
Capítulos anteriores discutieron cómo utilizar comandos individuales para llevar a cabo
acciones en el sistema operativo, incluyendo cómo crear / mover / eliminar archivos y mover
todo el sistema. Normalmente, cuando un comando tiene salida o genera un error, la salida
se visualiza en la pantalla; sin embargo, esto no tiene por qué ser el caso.
La barra vertical (|) carácter puede ser usado para enviar la salida de un comando a otro. En
lugar de ser impresa a la pantalla, la salida de un comando se convierte en la entrada para
el siguiente comando. Esto puede ser una poderosa herramienta, especialmente cuando se
busca de datos específico; tuberías se utiliza a menudo para refinar los resultados de un
comando inicial.
Los comandos de cabeza y cola se utilizan en muchos ejemplos siguientes para ilustrar el
uso de tuberías. Estos comandos se pueden utilizar para mostrar sólo las primeras o últimas
líneas de un archivo (o, si se utiliza con un tubo, la salida de un comando anterior).
Por defecto los comandos de cabeza y cola mostrarán diez líneas. Por ejemplo, el siguiente
comando mostrará las diez primeras líneas del archivo /etc/sysctl.conf
En el siguiente ejemplo, se mostrarán los últimos diez líneas del archivo
El carácter de canalización permitirá a los usuarios utilizar estos comandos no sólo en los
archivos, pero en la salida de otros comandos. Esto puede ser útil al enumerar un directorio
grande, por ejemplo el directorio / etc
Si nos fijamos en la salida del comando anterior, se dará cuenta de que el primer
nombre de archivo es fstab. Pero hay otros archivos que aparecen "por encima" de
que sólo se pueden ver si el usuario utiliza la barra de desplazamiento. Lo que si
sólo quería hacer una lista de los primeros archivos del directorio / etc?
La salida completa del comando ls se pasa al comando de la cabeza por el shell en lugar de
imprimirse a la pantalla. El comando head toma esta salida (de ls) como "datos de entrada"
y la salida de la cabeza y luego se imprime en la pantalla.
Tubos múltiples pueden ser utilizados de forma consecutiva para vincular múltiples
comandos juntos. Si tres comandos se canalizan juntos, la salida del primer comando se
pasa al segundo comando. La salida del segundo comando se pasa entonces a la tercera
comando. La salida de la tercera comando sería entonces ser impreso a la pantalla.
Observe cómo los números de línea son diferentes. ¿Por qué es esto?
Las tuberías pueden ser de gran alcance, pero es importante tener en cuenta cómo
los comandos son por tubería para asegurarse de que se muestra la salida
deseada.
8.4 E / S redirección
8.4.1 STDIN
8.4.2 STDOUT
Error estándar (o STDERR, son mensajes de error generados por los comandos. Por
defecto, STDERR se muestra en la ventana de terminal (pantalla) cuando el comando se
ejecuta.
E / S(I/O) de redirección permite al usuario redirigir STDIN lo que los datos provienen de un
archivo y STDOUT / STDERR así la salida va a un archivo. Redirección se logra mediante
el uso de los caracteres de flecha: (<) y (>).
STDOUT puede ser dirigida a los archivos. Para comenzar, observe la salida del siguiente
comando que muestra a la pantalla
Este comando muestra ninguna salida, porque STDOUT fue enviado al archivo
example.txt lugar de la pantalla. Usted puede ver el nuevo archivo con la salida del
comando ls. El archivo recién creado contiene la salida del comando echo cuando el
archivo se ve con el comando cat.
En lugar de ser sobrescrito, se añade la salida del comando echo más reciente al final del
archivo
Al utilizar las flechas para redirigir, (stream ) arroyo # 1 se asume a menos que se
especifique otro arroyo. Por lo tanto, la corriente # 2 se debe especificar al redirigir
STDERR.
Tenga en cuenta que no hay nada en el ejemplo anterior que implica que la salida es
STDERR. La salida es claramente un mensaje de error, pero ¿cómo puedes decir que está
siendo enviado a STDERR? Una forma fácil de determinar esto es redirigir STDOUT
En el ejemplo anterior, STDOUT se redirige al archivo output.txt. Así, la salida que se
muestra no se puede stdout porque habría sido colocado en el archivo output.txt. Debido a
que todas las salidas de comandos va bien a STDOUT o STDERR, la salida que se muestra
más arriba debe ser STDERR.
En el comando anterior, el 2> indica que todos los mensajes de error deben ser enviadas a
la error.txt archivo.
Tenga en cuenta que cuando se utiliza &>, la salida aparece en el archivo con todos los
mensajes STDERR en la parte superior y todos los mensajes STDOUT abajo todos los
mensajes STDERR
Si usted no quiere STDERR y STDOUT a ambos van al mismo archivo, pueden ser
redirigidos a diferentes archivos utilizando tanto(both)> and 2>. Por ejemplo:
El concepto de la reorientación de STDIN es difícil porque es más difícil de entender por qué
usted quiere redirigir STDIN. Con STDOUT y STDERR, la respuesta a por qué es bastante
fácil: porque a veces desea almacenar el resultado en un archivo para su uso futuro.
Sin embargo, tal vez si la salida del comando cat se redirige a un archivo, a
continuación, este método podría ser utilizado para añadir a un archivo existente o
para colocar texto en un nuevo archivo:
Por ejemplo, suponga que desea capitalizar una línea de texto. Usted podría utilizar el
comando tr de la siguiente manera
El comando tr tomó el STDIN desde el teclado ("ver cómo funciona esto") y se convierte
todas las letras minúsculas antes de enviar STDOUT a la pantalla ("Watch cómo funciona
esto").
Parecería que un mejor uso del comando tr sería realizar la traducción de un archivo, no la
entrada de teclado. Sin embargo, el comando tr no admite argumentos de nombre de
archivo
Puede, sin embargo, decir la cáscara para obtener STDIN desde un archivo en lugar de
desde el teclado usando el carácter <
Una última nota: En la mayoría de los casos es probable que desee tomar la salida
resultante y colocarlo de nuevo en otro archivo:
8.5 Búsqueda de archivos mediante el comando Buscar
Uno de los retos a los que se enfrentan los usuarios cuando se trabaja con el sistema de
archivos, es tratar de recordar la ubicación donde se almacenan los archivos. Hay miles de
archivos y cientos de directorios en un sistema de ficheros Linux típico, así que recordar
dónde se encuentran estos archivos pueden plantear desafíos.
Tenga en cuenta que la mayoría de los archivos que va a trabajar son los que usted cree.
Como resultado, a menudo se le busca en su directorio personal propio para encontrar
archivos. Sin embargo, a veces puede que tenga que buscar en otros lugares en el sistema
de archivos para encontrar archivos creados por otros usuarios.
El comando find es una herramienta muy poderosa que puede utilizar para buscar archivos
en el sistema de archivos. Este comando puede buscar archivos por nombre, incluyendo el
uso de caracteres comodín para cuando usted no está seguro del nombre de archivo
exacto. Además, puede buscar archivos basándose en los metadatos de archivos, tales
como tipo de archivo, tamaño del archivo y la propiedad del archivo.
componente
descripción
Component Description
This is where the user specifies where to start searching. The find command
[starting directory]will search this directory and all of its subdirectories. If no starting directory is
provided, then the current directory is used for the starting point.
This is where the user specifies an option to determine what sort of metadata
[search option] to search for; there are options for file name, file size and many other file
attributes.
This is an argument that compliments the search option. For example, if the
[search criteria] user uses the option to search for a file name, the search criteria would be the
filename.
This option is used to specify what action should be taken once the file is
[result option]
found. If no option is provided, the file name will be printed to STDOUT.
8.5.1 Búsqueda por Nombre de archivo
Para buscar un archivo por su nombre, utilice la opción -name al comando find:
Tenga en cuenta que se encontraron dos archivos: / etc / hosts y / etc / avahi / hosts. El
resto de la producción era mensajes STDERR porque el usuario que ejecutó el comando no
tiene permiso para acceder a determinados subdirectorios.
Recuerda que puedes redirigir STDERR a un archivo para que usted no necesita ver estos
mensajes de error en la pantalla:
Mientras que la salida es más fácil de leer, realmente no hay propósito de almacenar los
mensajes de error en el archivo error.txt. Los desarrolladores de Linux se dieron cuenta de
que sería bueno tener un "junk file archivo de basura" para enviar datos innecesarios;
cualquier archivo que se envía al archivo / dev / null se descarta
8.5.2 Viendo Detalle Archivo
Puede ser útil para obtener detalles de los archivos cuando se utiliza el comando find,
porque sólo el propio nombre de archivo podría no ser suficiente información para que usted
encuentre el archivo correcto.
Por ejemplo, puede haber siete archivos hosts nombrados; si supieras que el archivo de
host que necesitabas había sido modificado recientemente, la fecha y hora de modificación
del archivo sería útil para ver.
Para ver estos detalles de archivo, utilice la opción -ls al comando find
Las dos primeras columnas de la salida anterior son el número de inodo del archivo
y el número de bloques que el archivo se utiliza para el almacenamiento. Ambos son
más allá del alcance del tema que nos ocupa. El resto de las columnas son de
salida típica de ls -l comando: tipo de archivo, permisos, recuento de enlace duro,
dueño de usuario, propietario del grupo, el tamaño de archivo, fecha y hora de
modificación y el nombre del archivo
Una de las muchas opciones de búsqueda útiles es la opción que le permite buscar
archivos por tamaño. La opción -size le permite buscar archivos que son ya sea
mayor o más pequeño que un tamaño especificado, así como la búsqueda de un
tamaño exacto del archivo.
Para buscar archivos que son más pequeños que un (size)tamaño especificado, coloque
una - carácter antes del (size)tamaño del archivo.
8.5.4 adicional útil Opciones de Búsqueda
Hay muchas opciones de búsqueda. La siguiente tabla muestra algunas de estas opciones:
Opción
Significado
Option Meaning
Allows the user to specify how deep in the directory structure to search. For example, -
-
maxdepth 1 would mean only search the specified directory and its immediate
maxdepth
subdirectories.
Returns files owned by a specified group. For example, -group payroll would return
-group
files owned by the payroll group.
Returns files that match specified filename, but unlike -name, -iname is case
-iname insensitive. For example, -iname hosts would match files named hosts, Hosts, HOSTS,
etc.
Returns files that were modified based on modification time in minutes. For example, -
-mmin
mmin 10 would match files that were modified 10 minutes ago.
Returns files that match file type. For example, -type f would return files that are
-type
regular files.
Returns files owned by a specified user. For example, -user bob would return files
-user
owned by the bob user.
Si utiliza múltiples opciones, actúan como una "and", es decir, para que se produzca un
partido, todos los criterios deben coincidir, no sólo uno. Por ejemplo, el siguiente comando
mostrará todos los archivos en la estructura del directorio / etc que son 10 bytes de tamaño
y son archivos planos
Mientras ve pequeños archivos con el comando cat no plantea ningún problema, no es una
opción ideal para archivos de gran tamaño. El comando cat no proporciona ninguna manera
de hacer una pausa con facilidad y reiniciar la pantalla, por lo que todo el contenido del
archivo se vierten a la pantalla.
Para archivos más grandes, usted tendrá que usar un comando pager para ver el contenido.
Comandos Pager mostrará una página de datos a la vez, lo que le permite moverse hacia
adelante y hacia atrás en el archivo mediante el uso de teclas de movimiento.
Cuando utiliza los comandos más o menos, que le permitirá "moverse" de un documento
mediante el uso de comandos de pulsaciones de teclas. Debido a que los desarrolladores
del comando less basan el comando de la funcionalidad del comando more, todos los
comandos de pulsaciones de teclas disponibles en el comando more también trabajan en el
comando less.
Cuando ve un archivo con el comando less, puede utilizar la tecla h para mostrar una
pantalla de ayuda. La pantalla de ayuda le permite ver qué otros comandos están
disponibles. En el siguiente ejemplo, / palabras de comando se ejecuta la(less
/usr/share/dict/words) menos / usr / share / dict. Una vez que aparezca el documento, se ha
pulsado la tecla h, mostrando la pantalla de ayuda
8.6.2 Comandos menos movimiento
Hay muchos comandos de movimiento para los menos comandos, cada uno con varias
teclas o combinaciones de teclas posibles. Si bien esto puede parecer intimidante, recuerde
que no es necesario memorizar todos estos comandos de movimiento; siempre se puede
utilizar la tecla h cada vez que usted necesita para obtener ayuda.
El primer grupo de comandos de movimiento que es posible que desee centrarse en son los
que se utilizan con mayor frecuencia. Para que esto sea aún más fácil de aprender, las
teclas que son idénticos en más y menos se resumirán. De esta manera, usted aprenderá
cómo moverse en (more)más y (less)menos al mismo tiempo:
movimiento
llave
Cuando simplemente usando (less)menos como un buscapersonas, la forma más fácil para
avanzar a la página siguiente es presionar la barra espaciadora.
Movement Key
Window backward b
Exit q
Help h
Hay dos maneras de buscar en el comando less: usted puede buscar hacia delante o hacia
atrás desde su posición actual utilizando patrones llamados expresiones regulares. Más
detalles sobre las expresiones regulares se proporcionan más adelante en este capítulo.
Para iniciar una búsqueda de mirar hacia adelante desde su posición actual, utilice la tecla /.
A continuación, escriba el texto o el patrón para que coincida y pulse la tecla Enter.
Para iniciar una búsqueda para buscar hacia atrás desde su posición actual, pulse la tecla?
clave, a continuación, escriba el texto o el patrón para que coincida y pulse la tecla Enter. El
cursor se moverá hacia atrás para el primer partido que puede encontrar o informar de que
el patrón no puede ser encontrado.
Recordemos que los comandos de (head and tail )cabeza y cola se utilizan para filtrar los
archivos para mostrar un número limitado de líneas. Si desea ver un selecto número de
líneas desde el principio del archivo, se utiliza el comando (head)cabeza y si desea ver un
selecto número de líneas en la parte inferior de un archivo, a continuación, utiliza el
comando de la (tail)cola.
Por defecto, ambos comandos muestran diez líneas del archivo. La siguiente tabla
proporciona algunos ejemplos
Ejemplo del comando
help | head First ten lines of output piped from the help command
help | tail Last ten lines of output piped from the help command
Como se ve en los ejemplos anteriores, los dos comandos de texto de salida desde un
archivo normal o desde la salida de cualquier comando enviado a través de una tubería.
Ambos utilizan la opción -n para indicar el número de líneas en la salida.
La versión GNU del comando tail permite una variación de cómo especificar el número de
líneas que desea imprimir. Si utiliza la opción -n con un número prefijado por el signo más,
entonces el comando tail reconoce que esto significa para mostrar el contenido a partir de la
línea especificada y continuando todo el camino hasta el final.
Por ejemplo, el siguiente mostrará la línea # 22 hasta el final de la salida del comando nl
Puede ver los cambios de archivos en vivo utilizando la opción -f al comando tail. Esto es
útil cuando se desea ver los cambios en un archivo, ya que están sucediendo.
Un buen ejemplo de esto sería cuando se ven los archivos de registro como administrador
del sistema. Los archivos de registro se pueden utilizar para solucionar problemas y
administradores a menudo verlos "interactiva" con el comando de la (tail)cola, ya que están
realizando los comandos que están tratando de solucionar en una ventana separada.
Por ejemplo, si usted fuera a iniciar la sesión como usuario root, puede solucionar
problemas con el servidor de correo electrónico mediante la visualización de los cambios en
vivo a su archivo de registro con el siguiente comando: /var/log/mail.log tail –f
tail -f /var/log/mail.log
El comando sort se puede utilizar para reorganizar las líneas de archivos o de entrada, ya
sea en el diccionario o el orden numérico basado en el contenido de uno o más campos.
Los campos que están determinados por un separador de campos contenidos en cada
línea, que por defecto es el espacio en blanco (espacios y tabulaciones).
El siguiente ejemplo crea un archivo pequeño, con el comando de cabeza para agarrar las
primeras 5 líneas del archivo / etc / passwd y enviar el resultado a un archivo llamado
(mypasswd) miclave.
Ahora vamos a ordenar el archivo miclave(mypasswd)
En el caso de que el archivo o de entrada pueden estar separados por otro delimitador
como una coma o dos puntos, la opción -t permitirá que se especifique otra separador de
campo. Para especificar campos para ordenar por, utilice la opción -k con un argumento
para indicar el número de campo (empezando por 1 para el primer campo).
Las otras opciones de uso común para el comando (sort)tipo son la -n para realizar una
ordenación numérica y -R para llevar a cabo una (sort)especie inversa.
Tenga en cuenta que la opción -r podría haber sido utilizado para invertir la (sort)especie,
por lo que los números más altos en el tercer campo aparece en la parte superior de la
salida
Por último, es posible que desee llevar a cabo las clases más complejas, tales como (sort
by ordenar por) un campo primario y luego por un campo secundario. Por ejemplo,
considere los siguientes datos
bob:smith:23
nick:jones:56
sue:smith:67
Es posible que desee (sort)ordenar primero por el apellido (campo # 2) y luego nombre
(campo # 1) y luego por la edad (campo # 3). Esto se puede hacer con el comando
siguiente
El comando wc permite hasta tres estadísticas que se imprimirán para cada archivo
proporcionado, así como el total de estas estadísticas si se proporciona más de un nombre
de archivo. Por defecto, el comando wc proporciona el número de líneas, palabras y bytes
(1 byte = 1 carácter en un archivo de texto):
Si usted está interesado en ver sólo estadísticas específicas, entonces usted puede
utilizar -l para mostrar sólo el número de líneas, -w para mostrar sólo el número de
palabras y -c para mostrar sólo el número de bytes.
El comando wc puede ser útil para contar el número de líneas de salida por algún
otro comando a través de una tubería. Por ejemplo, si usted quería saber el número
total de archivos en el directorio / etc, podría ejecutar ls / etc | wc -l:
Por defecto, se considera que su entrada al estar separado por el carácter Tab, pero
la opción -d puede especificar delimitadores alternativos, como el colon o en coma.
El uso de la opción -f, puede especificar qué campos mostrar, ya sea como un rango
con guión o una lista separada por comas.
El comando grep se puede utilizar para filtrar líneas en un archivo o la salida de otro
comando basado en la coincidencia de un patrón. Ese patrón puede ser tan simple
como el texto exacto que desea igualar o puede ser mucho más avanzada mediante
el uso de expresiones regulares (discutidos más adelante en este capítulo).
Por ejemplo, es posible que desee encontrar todos los usuarios que pueden iniciar
sesión en el sistema con el shell bash, por lo que podría utilizar el comando grep
para filtrar las líneas del archivo / etc / passwd para las líneas que contienen los
caracteres "(bash)golpe":
Para que sea más fácil ver lo que exactamente se corresponde, utilice la opción --color.
Esta opción hará hincapié en los elementos coincidentes en rojo
En algunos casos, no se preocupan por las líneas específicas que coinciden con el patrón,
sino que el número de líneas que coincida con el patrón. Con la opción -c, puede obtener un
recuento de cuántas líneas que coincidan con
Cuando usted está viendo la salida del comando grep, puede ser difícil determinar los
números de línea originales. Esta información puede ser útil cuando se va de nuevo en el
archivo (tal vez para editar el archivo) como se puede utilizar esta información para
encontrar rápidamente una de las líneas coincidentes.
Ejemplos
salida
grep -v nologin Todas las líneas que no contengan "nologin" en el archivo / etc / etc /
passwd / passwd
linux grep -l / etc / * Lista de los archivos en el directorio / etc con "linux"
grep -i linux / etc / * Listado de líneas de los archivos en el directorio / etc que contengan
cualquier caso (capital o inferior) del patrón de carácter "linux"
grep -w linux / etc / * Listado de líneas de los archivos en el directorio / etc que contienen el
patrón de la palabra "linux"
Examples Output
grep -v nologin
All lines not containing "nologin" in the /etc/passwd file
/etc/passwd
grep -l linux /etc/* List of files in the /etc directory containing "linux"
Listing of lines from files in the /etc directory containing any case (capital or
grep -i linux /etc/*
lower) of the character pattern "linux"
Listing of lines from files in the /etc directory containing the word pattern
grep -w linux /etc/*
"linux"
Algunos caracteres tienen significados especiales cuando se utiliza dentro de los patrones
de comandos como el comando grep. Hay dos expresiones básicas regulares (disponibles
para una amplia variedad de comandos de Linux) y las expresiones regulares extendidas
(disponibles al más avanzado comandos Linux). Expresiones regulares básicas son las
siguientes:
Expresión Regular
Partidos
A list or range of characters to match one character, unless the first character is
[]
the caret "^", and then it means any character not in the list
El comando grep es sólo uno de muchos comandos que admiten expresiones regulares.
Algunos otros comandos son los más y menos comandos. Si bien algunas de las
expresiones regulares son innecesariamente cita con comillas simples, es una buena
práctica utilizar comillas simples alrededor de sus expresiones regulares para evitar que la
cáscara de tratar de interpretar el significado especial de ellos
En el siguiente ejemplo, un simple archivo se creó por primera vez el uso de la redirección.
A continuación, el comando grep se utiliza para mostrar una sencilla coincidencia de patrón
En el ejemplo anterior, se puede ver que el patrón "a .." igualada "abc". El primero. carácter
coincidía con la "b" y el segundo juego con el "c".
En el siguiente ejemplo, el "a..c" patrón no coincidirá con cualquier cosa, por lo que el
comando grep no lo hará producto cualquier salida. Para el partido tenga éxito, no tendría
que ser dos caracteres entre la "a" y "c":
Si utiliza el. carácter, entonces cualquier carácter posible podría igualar. En algunos
casos se desea especificar exactamente qué caracteres desea hacer coincidir. Por
ejemplo, tal vez lo que desea es que coincida con un carácter alfabético en
minúscula o un carácter de número. Para ello, puede utilizar los [] caracteres de
expresiones regulares y especificar los caracteres válidos dentro de los []
caracteres.
Por ejemplo, el siguiente comando coincide con dos caracteres, el primero es ya sea
una "a" o "b", mientras que la segunda es o bien una "a", "b", "c" o "d":
Tenga en cuenta que usted puede o lista a cabo cada personaje sea posible ([abcd]) o
proporcionar un rango ([a-d]), siempre y cuando el rango es en el orden correcto. Por
ejemplo, [d-a] sería no funciona porque no es un rango válido
La gama se especifica mediante un estándar llamado la tabla ASCII. Esta tabla es una
colección de todos los caracteres imprimibles en un orden específico. Usted puede ver la
tabla ASCII con el comando man ascii. Un pequeño ejemplo
Desde "a" tiene un valor menor numérico (141) y luego "d" (144), el anuncio gama
incluye todos los caracteres de la "a" a "d".
¿Qué pasa si usted desea hacer coincidir un personaje que puede ser otra cosa que
una "x", "y" o "z"? Usted no quiere tener que proporcionar un [] conjunto con todos
los personajes, excepto "x", "y" o "z".
Para indicar que desea para que coincida con un carácter que no es uno de los
personajes mencionados, inicie su [] ajustado con un ^ símbolo. Por ejemplo, el
siguiente demostrará a juego un patrón que incluye un carácter que no es una "a",
"b" o "c", seguido de una "d":
El carácter * se puede utilizar para que coincida con "cero o más del carácter anterior". Por
ejemplo, el siguiente coincidirá con cero o más caracteres "d":
Al realizar una coincidencia de patrón, el partido podría ocurrir en cualquier lugar en la línea.
Es posible que desee especificar que el partido se produce al principio de la línea o el final
de la línea. Para hacer coincidir al comienzo de la línea, comenzar el patrón con un ^
símbolo.
En el siguiente ejemplo, se añade otra línea al archivo example.txt para demostrar el uso del
símbolo ^:
Tenga en cuenta que en la primera salida de grep, ambas líneas coinciden, ya que ambos
contienen la letra "a". En la segunda salida de grep, sólo la línea que comienza con la letra
"a" emparejado.
Con el fin de especificar el partido se produce al final de la línea, terminar el patrón con el
carácter $. Por ejemplo, para encontrar solamente líneas que terminan con la letra "c":
En algunos casos es posible que desee para que coincida con un personaje que pasa a ser
un carácter especial de expresiones regulares. Por ejemplo, considere lo siguiente:
En la salida del comando grep arriba, verás que cada línea coincide porque usted está
buscando un carácter 'c' seguida de cero o más caracteres 'd' ". Si quiere buscar una *
carácter real, coloque una \ carácter antes del carácter *:
RE
significado
? Coincide con el carácter anterior cero o una vez, por lo que es un carácter opcional
+ Coincide con el carácter anterior repetido una o más veces
| La alternancia o como un operador lógico OR
comando
significado
partidos
grep -E 'colou? r' 2.txt 'colo' Partido siguiente por cero o uno 'u' color de los caracteres de
color
grep -E 'd +' 2.txt Coincidir uno o más caracteres 'd' d dd ddd dddd
"gris | gris" grep -E 2.txt coincidir ya sea "gris" o "gris" gris
RE Meaning
grep -E 'colou?r' 2.txt Match 'colo' following by zero or one 'u' character color colour
grep -E 'd+' 2.txt Match one or more 'd' characters d dd ddd dddd
El comando xargs se utiliza para construir y ejecutar líneas de comandos desde la entrada
estándar. Este comando es muy útil cuando se necesita para ejecutar un comando con una
muy larga lista de argumentos, que en algunos casos puede resultar en un error si la lista de
argumentos es demasiado largo.
El comando xargs -0 tiene una opción que deshabilita la cadena de fin de archivo, lo que
permite la utilización de argumentos que contienen espacios, comillas o barras invertidas.
El comando xargs es útil para permitir la ejecución de comandos de manera más eficiente.
Su objetivo es la construcción de la línea de comandos de un comando para ejecutar el
menor número de veces posible con tantos argumentos como sea posible, en lugar de
ejecutar el comando varias veces con un argumento cada vez.