21.egrep aplicación avanzada y herramienta de procesamiento de texto

grep, egrep, fgrep: herramienta de filtrado de texto (patrón: patrón) herramienta;

  grep: expresión regular básica, -E, -F

  egrep: expresión regular extendida, -G, -F

  fgrep: no admite expresiones regulares

egrep :

  Admite expresiones regulares extendidas para lograr una función de filtrado de texto similar a grep: grep -E

  grep [OPCIONES] PATRÓN [ARCHIVO ...]

    Opciones:

      -i , -o , -v , -q , -A , -B , -C

      -G: admite expresiones regulares básicas

    Metacaracteres para expresiones regulares extendidas:

      Coincidencia de caracteres:

        .: Cualquier caracter individual

        []: Cualquier carácter individual en el rango especificado

        [^]: Cualquier carácter individual fuera del rango especificado

      Coincidencias:

        *: En cualquier momento, 0, 1 o varias veces;

        ? : 0 veces o 1 vez, los caracteres anteriores son opcionales;

        +: Al menos una vez antes del personaje;

        {m}: el carácter precedente m veces;

        {m, n}: al menos m veces, como máximo n veces;

          {0, n}

          {metro,}

      Ancla de posición

        ^: Ancla al principio de la línea;

        $: Ancla al final de la línea;

        \ <, \ B: ancla al comienzo de la palabra;

        \>, \ B: ancla de sufijo;

      Agrupación y cotización:

        (): Agrupación; los caracteres que coinciden con el patrón entre paréntesis se registrarán en las variables internas del motor de expresión regular;

        Referencias hacia atrás: \ 1, \ 2, ...

      O:

        a | b: aob;

          C | cat : C 或 cat

          (c | C) en : gato 或 Gato

      

    Practica

      1. Busque todas las líneas en el archivo / proc / meminfo que comiencen con S mayúscula o minúscula, hay al menos tres formas de lograrlo;

         grep -i "^ [sS]" / proc / meminfo

         grep -i "^ s" / proc / meminfo

         grep "^ [sS]" / proc / meminfo

         grep -E "^ (s | S)" / procmeminfo

      2. Mostrar información relacionada de usuarios root, centos o user1 en el sistema actual;

         grep -E "^ (root | centos | usuario1) \>" / etc / passwd

      3. Busque la línea seguida de un paréntesis en una palabra en el archivo /etc/rc.d/init.d/functions;

         grep -E -o "[_ [: alnum :]] + \ (\)" /etc/rc.d.init.d/functions

      4. Use el comando echo para generar una ruta absoluta y use egrep para extraer el nombre base; 

         echo / etc / sysconfig / | grep -E -o "[^ /] + /? $"

          Además: saque su nombre de ruta; similar al resultado de ejecutar el comando dirname en él;

      5. Encuentre el valor entre 1-255 en el resultado del comando ifconfig;

         ifconfig | grep -E -o “\ <([1-9] | [1-9] [0-9] | 1 [0-9] {2} | 2 [0-4] [0-9] | 25 [ 0-5]) \> "

      6. Tarea extracurricular: encuentre la dirección IP en el resultado del comando ifconfig;

      7. Agregue bash de usuario, testbash, basher y nologin (el shell es / sbin / nologin), luego busque la línea con el nombre de usuario y el nombre de shell en el archivo / etc / passwd

         grep -E "^ ([^:] + \>). * \ 1 $" / etc / passwd

    fgrep: no admite metacaracteres de expresiones regulares;

      Cuando no es necesario usar el modo de escritura de búsqueda de metacaracteres, es mejor usar fgrep;

Herramientas de visualización y procesamiento de texto: wc, cut, sort, uniq, diff, patch

      wc: recuento de palabras

        wc [opción] ... [ARCHIVO] ...

          -l: líneas

          -w: palabras

          -c: bytes

      cortar:

        OPCIÓN de corte ... [ARCHIVO] ...

          OPCIÓN:

            -d CHAR: utiliza el carácter especificado como delimitador;

            -f CAMPOS: campos seleccionados;

              #: El campo único especificado;

              # - #: Campos múltiples continuos;

              #, #: Campos múltiples discretos;

      ordenar:

        ordenar [opción] ... [archivo] ...

          -n: ordena según el tamaño numérico en lugar de los caracteres;

          -t CHAR: especifica el delimitador;

          -k #: campo utilizado para ordenar la comparación;

          -r: ordenar en orden inverso;

          -f: ignorar mayúsculas y minúsculas

          -u: mantener solo una línea duplicada;

            Líneas duplicadas: continuas e iguales;

      uniq: informar o eliminar líneas duplicadas

        uniq [opción] ... [entrada [salida]]

          -c: muestra el número de repeticiones de cada línea;

          -u: solo muestra líneas que no se han repetido;

          -d: muestra solo líneas repetidas;

      diff : comparar archivos línea por línea

        archivos diff [opción] ...

        diff / path / to / oldfile / path / to / newfile> / path / to / patch_file

          -u: utiliza el mecanismo no comprobado, es decir, muestra el contexto de la línea que se va a modificar, el valor predeterminado es 3 líneas;

      parche: parchear el archivo

        patch [opciones] -i / ruta / a / patch_file / ruta / a / oldfile

        patch / path / to / oldfile </ path / to / patch_file

      Ejercicio: saque la dirección IP en el resultado del comando ifconfig eno16777736;

Supongo que te gusta

Origin www.cnblogs.com/ou-yang/p/12729356.html
Recomendado
Clasificación