GNU/Linux >> Tutoriales Linux >  >> Linux

8 impresionantes argumentos de la línea de comandos de Perl que debe conocer

Las opciones de línea de comandos en Perl podrían ser útiles para realizar tareas más pequeñas de manera eficaz.

En este artículo, revisemos cómo usar las opciones de la línea de comandos de Perl para realizar las siguientes tareas:

  • Editar el contenido del archivo
  • Manejar separador de línea
  • Comprobar errores de sintaxis
  • Cargar módulos
  • Realizar bucles
  • Ejecutar código perl
  • Establecer separador de línea de entrada
  • Dividir la línea de entrada
  • etc.,

1. Opción Perl -i:Editar contenido del archivo

Abre los archivos uno por uno y reemplaza el contenido con STDOUT.

Usemos el siguiente archivo sample.txt para convertir su contenido a mayúsculas como se muestra a continuación.

$ cat sample.txt
Practical Extraction Report Language

$ perl -pi  -e “tr/[a-z]/[A-Z]/” sample.txt

$ cat sample.txt
PRACTICAL EXTRACTION REPORT LANGUAGE

También puede hacer una copia de seguridad del archivo original como se muestra a continuación:

$ perl -pi.bak  -e “tr/[a-z]/[A-Z]/” sample.txt

$ cat sample.txt
PRACTICAL EXTRACTION REPORT LANGUAGE

$ cat sample.txt.bak
Practical Extraction Report Language

Para depurar un programa Perl, use el depurador Perl como explicamos anteriormente.

2. Opción Perl -l:Manejo del separador de línea

El separador de línea toma el valor octal como argumento. Los siguientes son algunos ejemplos de algunos separadores comunes y su valor octal.

Character    Octal Value
=========    =========
new line(\n) 012
tab(\t)      011
space        040
&            046

Nota:use el comando "man ascii" para conocer el valor octal de todos los caracteres.

Ejemplo de uso del separador de línea:

$ perl -p -l046 -e “tr/[a-z]/[A-Z]/”;
bala

Output :

BALA&

Además, consulte las 6 funciones de evaluación de Perl para obtener lecturas adicionales.

3. Opción Perl -c:Comprobar errores de sintaxis

La opción -c compila su programa sin ejecutarlo para garantizar que no haya errores de sintaxis en su programa.

$ perl -c sample.pl

4. Opción Perl -M:para cargar módulos

Con la opción Perl -M, podemos cargar los módulos deseados como se muestra a continuación.

$ perl -MFile::Copy -e ‘move(“sample.txt”,”/tmp”);’

La opción -m también carga los módulos pero no importa nada. La siguiente es la diferencia:

  • -MFile::Copiar es igual a “usar Archivo::Copiar; “
  • -mFile::Copy es igual a "usar File::Copy()"

También discutimos sobre la opción -M en nuestros 20 consejos de programación Killer Perl anteriores.

5. Opción Perl -n y -p:bucle implícito

La opción -n envuelve su código dentro del ciclo como se muestra a continuación.

while(<>) {
# perl code
}

El siguiente fragmento describe esto mejor.

while(<>) {
$_ =~ tr/[a-z]/[A-Z]/;
}

Al usar -n, podemos reescribir el fragmento de código anterior como se muestra a continuación.

$ perl -n -e ‘tr/[a-z]/[A-Z]/;print’

La opción -p envuelve su código dentro del ciclo como se muestra a continuación.

while(<>) {
# perl code
print;
}

El siguiente fragmento describe esto mejor.

while(<>) {
$_ =~ tr/[a-z]/[A-Z]/;
print;
}

Al usar -p, podemos reescribir el fragmento de código anterior como se muestra a continuación.

$ perl -p -e “tr/[a-z]/[A-Z]/”;

Si desarrolla mucho código Perl, debe leer el libro de mejores prácticas de Perl.

6. Opción Perl -e:Ejecutar código perl en la propia línea de comando

El programa Perl simple o corto se puede escribir en la línea de comandos con esta opción, como se muestra a continuación.

$ perl -e “print \”Username : $ENV{USER}”

7. Opción Perl -0:Separador de registros de entrada

Usando la opción -0, podemos cambiar el "separador de registro de entrada" de nueva línea a otra cosa como se muestra a continuación.

$ perl -p -0046 -e “tr/[a-z]/[A-Z]/”;
bala
raja&

Output :

BALA
RAJA&

En el ejemplo anterior, 046 es el valor octal para el carácter '&'. Entonces, después de recibir un carácter, Perl lo considera como el final de un registro y luego realiza la operación de traducción.

8. Opción Perl -a:dividir la línea de entrada

Divide $_ en @F con el delimitador como espacio.

El siguiente ejemplo demuestra la opción -a.

$ cat emp_salary.txt
bala     10000
rajesh  12300
kumar 14000

$ perl -n -l012  -a -e ‘print “$F[1]“‘  emp_salary.txt
10000
12300
14000

Por defecto, toma espacio como delimitador y realiza la operación de división. El delimitador se puede cambiar usando la opción -F como se muestra a continuación.

$ cat emp_salary.txt
bala:10000
rajesh:12300
kumar:14000

$ perl -n -l012  -F: -a -e ‘print “$F[1]“‘  emp_salary
10000
12300
14000

Linux
  1. 14 puertos de red comunes que debe conocer

  2. 10 comandos básicos de Linux que necesitas saber

  3. ¿Pasar argumentos de línea de comando a Bash Script?

  4. Nagios:cómo habilitar los argumentos de la línea de comandos check_nrpe

  5. 15 ejemplos de expansión del historial de Linux Bash que debe conocer

30 hechos asombrosos sobre Linux que debes saber

9 hechos sorprendentes sobre SUSE Linux que debe saber

Algunas alternativas a la utilidad de línea de comandos 'superior' que tal vez quiera saber

Los más de 50 comandos principales de Linux que DEBE conocer

¿Cómo leer argumentos de línea de comando en scripts de Shell?

Desarrolle rápidamente una GUI para la línea de comandos