Inicio
Buscar
Ingresar
Registrarse
Starfield: el juego que revolucionará el espacio y la tecnología
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Scripting
»
Batch / Bash
»
Ayuda con Bash
Imprimir
Páginas: [
1
]
Ir Abajo
Autor
Tema: Ayuda con Bash (Leído 2857 veces)
Maik
{ L1 } Newbie
Mensajes: 50
Ayuda con Bash
«
en:
Septiembre 22, 2011, 03:41:06 pm »
Hola, estoy aprendiendo shell scripting en linux y me han propuesto unos ejercicios:
1.‐ Construya un shell script que reciba dos argumentos por la línea de comandos: el
nombre de un fichero y un número que representa el número de línea del
fichero que el script debe imprimir en la salida estándar (pantalla).
Este lo he resuelto de la siguiente manera y me funciona bastante bien.
Código: Bash
#! /bin/bash
more
+
$2
-1
$1
2.‐ Construya un shell script que liste alfabéticamente los ficheros de un directorio que
se pasa como argumento.
Este creo que también me funciona:
Código: Bash
#! /bin/bash
ls
-l
$1
3.‐ Construya un shell script que modifique el nombre de los ficheros de un directorio
que se pasa como argumento de tal manera que las vocales que aparezcan en el
nombre del fichero aparezcan siempre en mayúsculas (sólo las vocales).
Este creo que también me funciona:
Código: Bash
#! /bin/bash
rename
'y/aeiou/AEIOU/'
$1
pero no se bien como funciona el comando rename. El ejemplo lo saque de la info del sistema. man rename.
4.‐ Desarrolle un shell script, de nombre killer, que reciba como parámetro el nombre
de un proceso en ejecución y lo elimine, mostrando además un mensaje como:
El proceso nombre_proceso con PID PID_proceso_eliminado ha sido eliminado
Este no consigo asignar a una variable el valor devuelto por una función:
Código: Bash
#! /bin/bash
PID
=
pidof
$1
kill
-9
$PID
echo
"El proceso $1 con PID
$PID
ha sido eliminado"
5.‐ Desarrolle un shell script que cuente el número de líneas, palabras y caracteres de
un fichero que se pasa como argumento.
Solución:
Código: Bash
#! /bin/bash
echo
lineas:
wc
-l
$1
echo
palabras:
wc
-w
$1
echo
caracteres:
wc
-c
$1
6.‐ Separar el contenido de un fichero indicado como argumento en otros dos. Se pasa
como argumento el porcentaje de líneas que se desea en el primer fichero.
Ejemplo:
divisor nombre_fichero_a_dividir porcentaje
divisor listado 40
resultado: nombre_fichero_a_dividir_1 es un fichero con el 40% primero de las líneas
del fichero original, y nombre_fichero_a_dividir_2 contiene el 60% restante.
En este desde que lineas hay que separar sabria calcular pero luego como copiar el texto en otro archivo no lo se.
7.‐ Desarrolle un shell script que cambie el formato de las fechas contenido en un
fichero que se pasa como argumento, de tal modo que las fechas en formato
corto del fichero original (DD/MM/AAAA) se reemplacen por su equivalente en
formato largo en un segundo fichero con el mismo nombre y extensión MOD.
Ejemplo: [ficheroOriginal] 2/12/2012 [ficheroOriginal.MOD] 2 de diciembre de 2012
No tengo ni idea.
8.‐ Desarrolle un shell script que cuente el número de palabras de un fichero que se
pasa como argumento e imprima por pantalla un mensaje indicando si este
número es par o impar.
Ejemplo: El fichero nombre_del_fichero tiene un numero par/impar de líneas
(numero_de_lineas)
Aquí me pasa lo mismo que en el 4. No se como asignar a una variable el valor de una función. lineas= wc -l $1.
Yo quería saber si los que he hecho esta bien y pediría por favor alguna ayuda para hacer los que no se como hacerlos.
Gracias.
En línea
Imprimir
Páginas: [
1
]
Ir Arriba
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
Scripting
»
Batch / Bash
»
Ayuda con Bash
Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso...
OK
Learn more