#!/bin/bash IZVORNA_MAPA="/home/" CILJNA_MAPA="/var/varnostne_kopije/" DATOTEKA=home-$(date +%Y%m%d).tgz tar -cZf $CILJNA_MAPA$DATOTEKA $IZVORNA_MAPA
#!/bin/sh # renna: preimenuje več datotek po določenih pravilih # napisal felix hudson Jan - 2000 # najprej preverimo za različne 'načine', ki jih program ima. # če prvi argument ($1) ustreza pogoju, izvedemo določen del # programa ter nato končamo izvajanje skripta # preverimo, ali gre za primer predpone if [ $1 = p ]; then # zdaj se znebimo spremenljivke za način ($1) ter predpone ($2) predpona=$2 ; shift ; shift # hiter preskus, ki preveri, ali so bila podana imena datotek # če niso bila, je bolje, da ne storimo ničesar, kakor # da bi poskušali preimenovati datoteke, ki jih ni!! if [$1 = ]; then echo "datoteke niso bile podane" exit 0 fi # ta zanka se ponovi za vsako datoteko, ki je bila podana # skriptu, ter preimenuje eno naenkrat for datoteka in $* do mv ${datoteka} $predpona$datoteka done # tu končamo izvajanje exit 0 fi # preverimo, ali gre za preimenovanje končnice # ta del je skoraj enak prejšnjemu, zato nima zaznamkov if [ $1 = k ]; then koncnica=$2 ; shift ; shift if [$1 = ]; then echo "datoteke niso bile podane" exit 0 fi for datoteka in $* do mv ${datoteka} $datoteka$koncnica done exit 0 fi # preverimo, ali gre za zamenjavo vzorca if [ $1 = z ]; then shift # tale del sem dodal zato, da takrat, ko uporabnik ne # navede parametrov, ne poškodujemo datotek if [ $# -lt 3 ] ; then echo "uporaba: renna z [izraz] [zamenjava] datoteke... " exit 0 fi # odstranimo druge parametre STARO=$1 ; NOVO=$2 ; shift ; shift # ta zanka se ponovi za vsako datoteko, ki je bila podana # skriptu, in jo preimenuje z uporabo programa 'sed', ki v # besedilu iz standardnega vhoda poišče izraz in ga zamenja z # drugim. Tu mu na standardni vhod podamo ime datoteke. for datoteka in $* do NOVO_IME=`echo ${datoteka} | sed s/${STARO}/${NOVO}/g` mv ${datoteka} $NOVO_IME done exit 0 fi # če smo prišli do sem, to pomeni, da programu ni bil podan # noben parameter, zato uporabniku povemo, kako se ga uporablja echo "uporaba;" echo " renna p [predpona] datoteke.." echo " renna k [končnica] datoteke.." echo " renna z [izraz] [zamenjava] datoteke.." exit 0 # končano!
#!/bin/bash # preimenuj.sh # enostaven preimenovalnik datotek kriterij=$1 izraz=$2 zamenjava=$3 for i in $( ls *$izraz* ); do datoteka=$i novo_ime=$(echo $i | sed -e "s/$izraz/$zamenjava/") mv $datoteka $novo_ime done