GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial de comando Linux basename para principiantes (con ejemplos)

A veces, mientras trabaja en la línea de comandos (especialmente cuando se trata de scripts de shell), es posible que solo le interese el nombre del archivo, pero lo que está disponible para usted es la ruta completa del archivo. Entonces, el requisito es eliminar el componente de directorio de la ruta. Te alegrará saber que existe un comando - basename - que hace este trabajo.

En este tutorial, discutiremos los conceptos básicos de 'nombre base' utilizando algunos ejemplos fáciles de entender. Pero antes de pasar a eso, vale la pena mencionar que todos los ejemplos aquí se han probado en una máquina con Ubuntu 16.04 LTS.

Comando de nombre base de Linux

El comando basename le permite eliminar componentes de nombres de archivo que no son necesarios. La siguiente es la sintaxis de la herramienta:

basename NAME [SUFFIX]
basename OPTION... NAME...

Y esto es lo que dice la página del manual al respecto:

basename - strip directory and suffix from filenames

Print NAME with any leading directory components removed. If specified, also remove a trailing
SUFFIX.

Los siguientes son algunos ejemplos de estilo de preguntas y respuestas que le darán una buena idea de cómo funciona el comando basename.

P1. ¿Cómo funciona el comando nombrebase?

De forma predeterminada, si ejecuta el comando 'nombre base' con una ruta completa a un archivo como entrada, el comando devuelve el nombre del archivo en la salida. Por ejemplo, cuando ejecuté el siguiente comando:

basename /home/himanshu/Downloads/analytics.pdf

Obtuve el siguiente resultado:

analytics.pdf

P2. ¿Puede basename manejar múltiples entradas?

Sí puede. Pero para que esto suceda, debe usar la opción de línea de comando -a. Por ejemplo, cuando ejecuté el siguiente comando:

basename -a /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

Y aquí está el resultado que obtuve:

analytics.pdf
test.png

P3. ¿Cómo crear también una extensión de archivo de tira de nombre base?

A veces, es posible que solo desee obtener el nombre del archivo, pero no su extensión. Bueno, esto se puede hacer usando la opción de línea de comando -s (que requiere que pases el sufijo como entrada).

Por ejemplo, el siguiente comando:

basename -s .pdf /home/himanshu/Downloads/analytics.pdf

produjo esta salida:

analytics

P4. ¿Cómo hacer que cada salida de línea termine con NUL?

De forma predeterminada, el carácter de nueva línea se utiliza como separador en la salida. Sin embargo, si lo desea, puede obligar a basename a usar NUL como separador. Esto se puede hacer usando la opción de línea de comando -z.

Por ejemplo:

basename -az /home/himanshu/Downloads/analytics.pdf /home/himanshu/Pictures/test.png

Y aquí está el resultado:

analytics.pdftest.png

Así que no ves el carácter NUL aquí. Para eso, debe redirigir la salida a un archivo y luego abrir el archivo en un editor como vim. Esto es lo que mostró vim:

Conclusión

Como puede ver, basename no es un comando muy rico en funciones:las opciones que proporciona son limitadas y la mayoría de ellas se han discutido aquí en este tutorial. Una vez que haya terminado de practicar estos, diríjase a la página de manual de la herramienta para obtener más información al respecto.


Linux
  1. Linux expand Command Tutorial para principiantes (con ejemplos)

  2. Tutorial de comando de factor Linux para principiantes (con ejemplos)

  3. Tutorial de comando yes de Linux para principiantes (con ejemplos)

  4. Tutorial de comandos para usuarios de Linux para principiantes (con ejemplos)

  5. Tutorial de comando Linux sum para principiantes (con ejemplos)

Tutorial de comandos de apariencia de Linux para principiantes (con ejemplos)

Tutorial del comando lsattr de Linux para principiantes (con ejemplos)

Tutorial del comando tload de Linux para principiantes (con ejemplos)

Tutorial del comando Linux znew para principiantes (con ejemplos)

Tutorial del comando zdump de Linux para principiantes (con ejemplos)

Tutorial de comando Linux tr para principiantes (con ejemplos)