Mostrando entradas con la etiqueta bash. Mostrar todas las entradas
Mostrando entradas con la etiqueta bash. Mostrar todas las entradas

jueves, 18 de febrero de 2021

FIND: Buscar ficheros y algo más.

 *Busca todos los ficheros y sus subdirectorios y elimina los que tengan .. en su nombre.
find . | rename "s/(\.\.)/./"

* Renombrar de forma recursiva. Renombre Fronte por cover.
find . -name "Fronte.jpg" -exec rename 's/Fronte/cover/' {} \;

* Renombrar en subdirectorios los jpeg por jpg., pudiéndose jpeg mayúscula o minúscula.
find . -iname "*.jpeg" -exec rename 'y/jpeg/jpg/' {} \; 

 *Borrar ficheros que empiza por parentesis.

find . -name "*\(*" -exec rm  {} \;

 * Borrar ficheros vacios en la carpeta  /media/backup/

find /media/backup/ -type f -size 0 -exec rm {} \;

miércoles, 30 de septiembre de 2015

Decargar repositorios privados bitbucket con script en bash


Seguidamente se explica con descargar repositorios de bitbucket privados, es decir, con usuario y contraseña, a través de las firmas públicas.

1. Crear fichero de clave publica:  ~/.ssh/id_rsa
ssh-keygen

2. Cargar la clave:
ssh-add ~/.ssh/id_rsa

3. En bitbucket en administrar perfil ir a crear clave ssh.
Copiar el fichero  ~/.ssh/id_rsa en un clave nueva.

xclip -sel clip < ~/.ssh/id_rsa.pub

4. Crear el fichero: ~/.ssh/confg

  Host bitbucket.org
  User git
  Hostname altssh.bitbucket.org
  IdentityFile ~/.ssh/git_id_rsa
  IdentitiesOnly yes
  Port 443

5. Crear el fichero: gitclonealumnos.sh

t=1
p="/home/paco/NetBeansProjects/"
c=${p}"tema"${t}
if [ ! -d ${c} ];then
 echo "Creando $c"
 mkdir ${c}
fi
ssh-add ~/.ssh/id_rsa
cd ${c}
for t in $(seq 7 200);do
    git clone ssh://git@altssh.bitbucket.org:443/1516ceed${t}/1516ceed${t}prgt1e1
done

miércoles, 3 de diciembre de 2014

Rename, grep y sed


Seguidamente teneis un script que permite cambiar el tema de las prácticas de java de forma automática.


echo "Renombrando ficheros con Ejemplo05 por Ejemplo07"
rename -v 's/Ejemplo07/Ejemplo05/' *.java

for i in $(ls *.java);do
 echo $i

 echo "Borrando lineas con el texto package"
 cat $i | grep  -Ev package > t$i
 mv t$i $i

 echo "Reemplazando el testo Ejemplo07 por Ejemplo05"
 cat $i | sed 's/Ejemplo07/Ejemplo05/g' > t$i
 mv  t$i $i
done

sábado, 8 de enero de 2011

ROTAR FONDOS CON GNOME Y BASH

# fondorotar.sh
# Por Paco Aldarias
# 8.1.11
# Esta función rota los fondos del escritorio gnome

usuario="/home/paco"
dirfondos="/media/sda5/fotos"

lanzador="$usuario/Escritorio/Fondo.desktop"
icono="pitivi"

fimagenes="/tmp/fimagenes.txt"
ftot="/tmp/ftot.txt"

#***********************
function lanzador
{
echo "#!/usr/bin/env xdg-open" > $lanzador
echo "[Desktop Entry]">> $lanzador
echo "Version=1.0">> $lanzador
echo "Type=Application">> $lanzador
echo "Terminal=false">> $lanzador
echo "Icon[es_ES]=pitivi">> $lanzador
echo "Exec=bash /home/paco/fondorotar.sh">> $lanzador
echo "Name[es_ES]=Fondo $1">> $lanzador
echo "Icon=gparted">> $lanzador
echo "Name=Fondo $1">> $lanzador
}

#***********************
function cambia
{
gconftool-2 -t str -s /desktop/gnome/background/picture_filename $1
#Possible values are "none", "wallpaper" (eg tiled), "centered", "scaled", "stretched"
gconftool-2 -t string -s /desktop/gnome/background/picture_options "stretched"
}

#***********************
function numero
{
num=$1
tema=$(cat $fimagenes | sed -n ${num}L)
cambia "$tema"
lanzador "$tema"
}

#***************** MAIN

# Si no existe lo crea
if [ ! -f $fimagenes ]; then
find $dirfondos -iname '*.jpg' -o -iname '*.png' -o -iname '*.svg' > $fimagenes
cat $fimagenes | wc -l > $ftot
fi

# Total de fondos.
tot=$(cat $ftot)

# Numero aleatorio
num=$(($RANDOM%$tot))
numero $num

martes, 25 de agosto de 2009

Parar una aplicacion cuando otras se ejecutan

#!/bin/bash
# Por Paco Aldarias.
# 23.8.2009
# idle.sh
# Este scripts en bash permite activar
# mldonkey cuando esta idle o inactivo
# Siendo el estado activo, cuando se ejecuta firefox xql etc


apli="firefox xql et.x86"
temp="/tmp/idle.txt"
ml="/home/paco/mldonkey.sh"
flog="/tmp/idle.log"
log=1

[ -f $flog ] && rm -f $flog
[ $log -eq 1 ] && echo "Arrancado: $(date +%H:%M:%S) $flog" >> $flog

# tiempos en segundos
tini=3m
tidle=1m
tbusy=5m

# Limpiamos si esta en ejecución el script.
if [ -f $temp ];then
kill $(cat $temp)
rm -f $temp
fi

# Si esta en marcha paramos ml
proc=$(ps aux | grep mlnet | grep -v grep | wc -l)
[ $proc -gt 0 ] && $ml stop
[ $1 ] && [ $1 = "stop" ] && exit

sleep $tini

# Bucle infinito
while :
do
descargar=1

# Hacemos esto por cada aplicacion que queremos que para ml
for i in $(echo $apli)
do
if [ $descargar -eq 1 ];then
up=$(ps aux | grep "$i" | grep -v grep | awk '{print $11}')
if [ $up ];then
descargar=0
[ $log -eq 1 ] && echo "UP: $up $i">> $flog
fi
fi
done

# Descargamos. Ponemos en marcha mldonkey
if [ $descargar -eq 1 ]
then
[ $log -eq 1 ] && echo "$(date +%H:%M:%S) Podemos descargar" >> $flog
if [ ! -f $temp ];then
echo $$ > $temp
sh $ml start
fi
sleep $tidle
# Apagamos. Paramos mldonkey
else
[ $log -eq 1 ] && echo "$(date +%H:%M:%S) No podemos descargar" >> $flog
if [ -f $temp ];then
sh $ml stop
rm -f $temp
fi
sleep $tbusy
fi

done