El comando grep awk sed usa el Tutorial

  

1. Comillas dobles y referencias de comillas simples Cuando ingrese argumentos de cadena en el comando g r e p, es mejor encerrarlos entre comillas dobles. Por ejemplo: " m y s t r i n g ". Hay dos razones para esto, una es evitar el malentendido como un comando de shell y la otra es encontrar una cadena de palabras múltiples, por ejemplo: "avión", si no lo encierras entre comillas dobles, entonces la palabra El plano se confundirá con un archivo, y el resultado de la consulta devolverá un mensaje de error que indica que el archivo no existe. Las comillas dobles también deben usarse cuando se llaman variables, como: g r e p " $ M Y VA R " filename, de lo contrario, no se devolverá ningún resultado. Se deben usar comillas simples cuando se llama a la coincidencia de patrones. [Root @ mypc] # echo `grep 123 111.txt` (#Nota es comillas anti-simples) 2. Las opciones de g r e p comúnmente utilizadas son: -c Muestra solo el conteo de líneas coincidentes. -i no distingue entre mayúsculas y minúsculas (solo para caracteres individuales). -h No muestra el nombre del archivo al consultar varios archivos. -l Al consultar varios archivos, solo se muestra el nombre del archivo que contiene los caracteres coincidentes. -n Muestra líneas coincidentes y números de línea. -s No muestra los mensajes de error que no existen o que no tienen texto coincidente. -v Muestra todas las líneas que no contienen texto coincidente. 3. Especial — — Consulta en varios archivos $ grep " sort " *. Doc (#Encuentre la cadena en todos los archivos .doc en el directorio actual <quo; sor t ")

$ grep " ordénelo " * (#o consulte la palabra en todos los archivos <; ordénelo ") El siguiente ejemplo es consultar en un solo archivo. 4. La línea coincide con los datos de $ grep -c " 48 " f $ 4 (#grep devuelve el número 4, lo que significa que hay 4 líneas que contienen la cadena <; 4 8 ".) $ grep " 48 " data.f (# muestra 4 líneas de texto que contienen " 4 8 " cadenas) 5. Muestre el número de filas y filas que coinciden con el patrón coincidente: [root @ mypc oid2000] # grep -n 1234 111.txt 1: 12343: 1234ab6. Coincidencia exacta [root @ mypc oid2000] # grep " 1234 > " 111.txt 12347. Consulte líneas en blanco y busque líneas que comiencen o terminen con una determinada condición. Use ^ y $ juntos para consultar líneas vacías. Use el parámetro -n para mostrar el número real de líneas [root @ mypc oid2000] # grep -n " ^ $ " 111.txt (resultado de retorno 2: #describe que la segunda línea está en blanco) [root @ mypc oid2000] # grep - n " ^ abc " 111.txt (#Query la línea que comienza con abc) [root @ mypc oid2000] # grep -n " abc $ " 111.txt (#Query la línea que termina con abc) 8. Match special Carácter, consulta para caracteres con significado especial, como $. '&Quot; * [] ^ |  \\ +?, debe ir precedido por un carácter específico. [root @ mypc oid2000] # grep " \\. " 111.txt (#Query todas las líneas que contengan ". " en 111.txt) [root @ mypc oid2000] # grep " my \\ .conf " 111.txt (#Query la línea con el nombre de archivo my.conf) 9. Consulta del directorio [root @ mypc oid2000] # ls – l | Grep " ^ d " (#Si desea consultar el directorio en la lista de directorios) [root @ mypc oid2000] # ls – l | Grep " ^ d [d] " (#Query todos los archivos en un directorio que no contienen un directorio) [root @ mypc] # ls – l | Grpe " ^ d … .. x..x " (#Query la colección de directorios donde otros usuarios y miembros de grupos de usuarios tienen permisos ejecutables) 10. Excluya sus propios ps -ef | Grep telnet |  Grep -v grep (Extrae el proceso "telnet" en el proceso mostrado y descarta el proceso grep en ps)


Sintaxis del comando awk El comando awk es bueno para formatear mensajes o Al extraer un paquete de un archivo de texto grande, la siguiente es la sintaxis básica del comando awk [-F archivado-separador] " comandos " input-file (s) [- F domain separator] es opcional, awk use Los espacios se utilizan como el separador de dominio predeterminado. Si se usan dos puntos como el campo de partición en el archivo a procesar (como el archivo de contraseña), se debe especificar awk – F: comando input-file (s) 1.1 durante el proceso. Cuando se ejecutan el dominio y el registro awk, sus campos de navegación se marcan como $ 1, $ 2 ... $ n. Este método se llama un identificador de dominio. Use $ 1, $ 3 para referirse a los campos 1 y 3, tenga en cuenta que la coma se utiliza para separar los campos. Si desea imprimir todos los campos de un registro con 5 campos, no tiene que especificar $ 1, $ 2, $ 3, $ 4, $ 5, puede usar $ 0, lo que significa todos los dominios. 1.2 guardar una salida de w k $ awk ‘ {print $ 0} ’ input-files > out-files (# redirect save output) $ awk ‘ {print $ 0} ’ input-files |  Tee out-files (# Use el comando tee para enviar al archivo mientras se envía a la pantalla) 1.3 Ejemplos comunes de comandos awk [root @ mypc /] # awk '$ 0 ~ /user /' /etc /passwd (#Si un dominio contiene El usuario imprime la línea) rpc: x: 32: 32: Usuario RPC de Portmapper: /: /sbin /nologinrpcuser: x: 29: 29: Usuario del servicio RPC: /var /lib /nfs: /sbin /nologin [raíz @mypc /] # awk '/user /' /etc /passwd (#supra) [root @ mypc /] # awk -F: '{if ($ 5 ~ /user /) imprime $ 0}' /etc /passwd (# Si el quinto dominio tiene usuario, imprima la línea) rpc: x: 32: 32: Usuario de PortPCper RPC: /: /sbin /nologin [root @ mypc /] # ifconfig |  Awk '/inet /{print $ 2}' (# extraiga la línea que contiene inet de la salida de ifconfig e imprima el segundo campo) [root @ mypc /] # ifconfig |  Awk '/inet /{print $ 2}' |  Awk -F: '{print $ 2}' (# Extraer de lo anterior, este comando le permite obtener la dirección IP de la máquina directamente)




Sintaxis de comandos comunes de Sed Sed es un editor de flujo de texto no interactivo. Edita una copia de texto de un archivo o exportación de entrada estándar. 1. Coincidencia de líneas [root @ mypc /] # sed -n '2p' /etc /passwd Imprima la línea 2 [root @ mypc /] # sed -n '1,3p' /etc /passwd Imprima del 1 al 1 3 líneas [root @ mypc /] # sed -n '$ p' /etc /passwd Imprime la última línea [root @ mypc /] # sed -n '/user /' p /etc /passwd Imprime la línea que contiene el usuario Rpc: x: 32: 32: Usuario RPC Portmapper: /: /sbin /nologinrpcuser: x: 29: 29: Usuario del servicio RPC: /var /lib /nfs: /sbin /nologin [root @ mypc /] # sed-n '/\\ $ /' p /etc /passwd imprime una línea que contiene $ 元 caracteres, $ significa la última línea 2. Insertar texto y texto adicional (insertar nueva línea) [root @ mypc /] # sed -n '/FTP /p' /etc /passwd Imprima la línea con FTP ftp: x: 14: 50: Usuario de FTP: /var /Ftp: /sbin /nologin [root @ mypc /] # sed '/FTP /a \\ 456' /etc /passwd Inserte una nueva línea después de la línea que contiene FTP, el contenido es 456 [root @ mypc /] # sed '/FTP /i \\ 123 '/etc /passwd inserta una nueva línea delante de la línea que contiene FTP, el contenido es 123 [root @ mypc /] # sed' /FTP /i \\ " 123 " '/etc /passwd en la línea que contiene FTP Inserte una nueva línea delante del contenido, " 123 " [root @ mypc /] # sed '5 a \\ 123' /etc /passwd Inserte una nueva línea después de la 5ª línea, el contenido es 123 [root @ mypc /] # sed '5 i \\ " 12345 "' /etc /passwd Inserta una nueva línea antes de la 5ª línea, el contenido es " 12345 " 3. Eliminar texto [root @ mypc /] # sed '1d' /etc /passwd Eliminar línea 1 [root @ mypc /] # sed '1,3d' /etc /passwd Eliminar líneas 1 a 3


Copyright © Conocimiento de Windows All Rights Reserved