ed: buscalog.sh *mejora*
ed: buscalog.sh mejora Reemplazo de 'sustitución de comando' ciclo for por función, en la carga de 'arrays' de directorios y nombres de logs. Separación del proceso en 3 funciones, mejora legibilidad. ***Admite nombres de rutas que contengan espacios***
This commit is contained in:
parent
381f5886ed
commit
06d0b0c950
14
README.md
14
README.md
@ -10,7 +10,7 @@ Selección de scripts de autoria propia
|
||||
- [Lol laucher y debug](#rito-pls)
|
||||
|
||||
> **NOTA:** Funciones ejecutadas con ***alias***
|
||||
> ej: `alias mi_alias='/ruta/a/scritps/script funcion <arg(s)>'`
|
||||
> - ej: `alias mi_alias='/ruta/a/script funcion <arg(s)>'`
|
||||
----
|
||||
|
||||
|
||||
@ -21,16 +21,14 @@ ej `custom_log_dirs`:
|
||||
```txt
|
||||
/ruta/a/directorio
|
||||
/ruta/a/otro/directorio
|
||||
/ruta/a/otro/directorio/mas
|
||||
/ruta/a otro/directorio con espacios
|
||||
```
|
||||
|
||||
> nombres de directorios sin espacios ej `/ruta/a/dir/deLogs`
|
||||
> nombres de directorios terminan en `\n`
|
||||
> - Los nombres de directorios terminan en `\n`
|
||||
|
||||
|
||||
Lista los log disponibles en los directorios mencionados.
|
||||
> extension `.log`
|
||||
> logs con permiso de lectura
|
||||
> - archivos con extension `.log`
|
||||
> - archivos con permiso de lectura
|
||||
|
||||
`./buscalog.sh listLog`
|
||||
```txt
|
||||
@ -92,7 +90,7 @@ UsuarioGit2 user2@git.org keyUser2
|
||||
UsuarioGit3 user3@git.org keyUser3
|
||||
UsuarioGit4 user4@git.org keyUser4
|
||||
```
|
||||
> llaves ssh en `~/.ssh/keys/`
|
||||
> - llaves ssh en `~/.ssh/keys/`
|
||||
|
||||
### Listar usuarios agregados
|
||||
`./gitfun.sh gitUser`
|
||||
|
35
buscalog.sh
35
buscalog.sh
@ -1,27 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
declare -a LOG_DIRS
|
||||
declare -a customLogDirs
|
||||
|
||||
LOGBASEDIR='/var/log';
|
||||
CUSTLOGDIRS="$HOME/.config/custom_log_dirs";
|
||||
ConT=0;
|
||||
|
||||
while read -a LINEA; do
|
||||
customLogDirs+=($LINEA)
|
||||
done < $CUSTLOGDIRS
|
||||
lsLogDirs(){
|
||||
OIFS="$IFS"
|
||||
IFS=$'\n'
|
||||
while read -a LINEA; do
|
||||
customLogDirs+=($LINEA)
|
||||
done < $CUSTLOGDIRS
|
||||
\ls -U ${LOGBASEDIR}/*.log 2>/dev/null
|
||||
for dir in ${customLogDirs[@]}; do
|
||||
\ls -U ${dir}/*.log 2>/dev/null
|
||||
done
|
||||
IFS="$OIFS"
|
||||
}
|
||||
|
||||
while read -a LINEA; do
|
||||
[[ -r "${LINEA}" ]] && LOG_DIRS[$ConT]="${LINEA}" && ((++ConT))
|
||||
done <<< $(\ls -U ${LOGBASEDIR}/*.log 2>/dev/null &&
|
||||
for dir in "${customLogDirs[@]}"; do \ls -U $dir/*.log 2>/dev/null; done; )
|
||||
cargaLogDirs(){
|
||||
ConT=0
|
||||
OIFS="$IFS"
|
||||
IFS=$'\n'
|
||||
while read -a LINEA; do
|
||||
[[ -r "${LINEA}" ]] && LOG_DIRS[$ConT]="${LINEA}" && ((++ConT))
|
||||
done <<< $(lsLogDirs)
|
||||
IFS="$OIFS"
|
||||
}
|
||||
|
||||
listLog(){
|
||||
cargaLogDirs
|
||||
clear
|
||||
local cont=0
|
||||
printf '\n \e[1;32mSelección de Logs :\n'
|
||||
printf ' %s\e[0m\n' "-------------------"
|
||||
for str in ${LOG_DIRS[@]}; do
|
||||
for str in "${LOG_DIRS[@]}"; do
|
||||
printf ' \e[1;34m%s)\e[0m \e[0;32m%s \e[0m\n' "$cont" "${str}" | \
|
||||
sed 's/\/var\/log\///g ; s/\.log//g'
|
||||
((++cont))
|
||||
|
Loading…
Reference in New Issue
Block a user