En este artículo, escribiremos un script de shell para mostrar todas las líneas entre los números de línea dados en la consola.
Tenemos un nombre de archivo y una línea de inicio y final. Tenemos que escribir un script que imprimirá todas las líneas desde la línea de inicio especificada hasta la línea final del archivo.
Ejemplo:
File : a.txt Line 1 : Hello Line 2 : GeeksForGeeks Line 3 : Hritik Line 4 : Hello GFG Line 5 : Hello Hritik start line, s = 2 end line, e = 4 Output : Line 2 : GeeksForGeeks Line 3 : Hritik Line 4 : Hello GFG
Acercarse:
- Primero, cree un archivo main.sh usando cat o cualquier comando de creación de archivos.
- Tome la entrada del usuario con el comando de lectura
- Ahora usaremos una herramienta sed
Usaremos la herramienta sed que se usa para enviar los contenidos a la consola. A Sed se le pasa un indicador -n para elegir qué líneas se envían a la consola.
Sintaxis: sed -n <inicio>,<fin>\p <nombre de archivo>
Ejemplo :
file = a.txt, s = 2 and e = 4 sed -n 2,4\p a.txt
Después de escribir y guardar el código, use el siguiente comando para dar permiso para archivar
chmod 777 a.txt
Le dará permiso de lectura, escritura y ejecución al usuario.
A continuación se muestra la implementación:
//Shell script to display all the //given lines of a file //take file name from user //and store the input in f variable echo "Enter the file name :" read f //take starting line from user //and store the input in s variable echo "Enter the starting line :" read s //take endinging line from user //and store the input in e variable echo "Enter the ending line :" read e //printing the specified lines to console. sed -n $s,$e\p $f
Producción:
Publicación traducida automáticamente
Artículo escrito por hritikrommie y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA