#!/bin/bash
SRCD="/home/"
TGTD="/var/backups/"
OF=home-$(date +%Y%m%d).tgz
tar -cZf $TGTD$OF $SRCD
#!/bin/sh
# renna: egyszerre több fájl átnevezése különböző szabályok szerint
# írta: Felix Hudson (2000. január)
# először is megnézzük, hogy a program milyen "üzemmódban" van
# ha az első paraméter ($1) alapján valamelyik feltétel teljesül végrehajtjuk
# a hozzá tartozó programrészt és kilépünk
# előtag (prefix) szerint történő átnevezés?
if [ $1 = p ]; then
# most megszabadulunk a módot tartalmazó változótól ($1) és a prefixtől ($2)
prefix=$2 ; shift ; shift
# megnézzük, adtak-e meg fájlnevet
# ha nem, jobb ha nem csinálunk semmit, minthogy nemlétező fájlokat
# nevezzünk át
if [$1 = ]; then
echo "nem adtál meg fájlnevet"
exit 0
fi
# ez a for ciklus végigmegy a megadott fájlokon és mindet
# egyenként átnevezi
for file in $*
do
mv ${file} $prefix$file
done
# kilépünk a programból
exit 0
fi
# utótag (suffix) szerinti átnevezés?
# az ide tartozó rész tulajdonképpen megegyezik az előzővel
# nézd meg az ottani megjegyzéseket
if [ $1 = s ]; then
suffix=$2 ; shift ; shift
if [$1 = ]; then
echo "nem adtál meg fájlnevet"
exit 0
fi
for file in $*
do
mv ${file} $file$suffix
done
exit 0
fi
# helyettesítéses átnevezés?
if [ $1 = r ]; then
shift
# ezt a részt azért raktam bele, hogy ne tegyük tönkre a felhasználó egyik
# állományát se, ha helytelenek a paraméterek
# ez csak egy biztonsági intézkedés
if [ $# -lt 3 ] ; then
echo "használat: renna r [kifejezés] [helyettesítés] fájlok... "
exit 0
fi
# továbblépünk a paraméterlistán
OLD=$1 ; NEW=$2 ; shift ; shift
# Ez a for ciklus végigmegy az összes fájlon amit a programnak átadtak,
# és egyenként átnevezi őket a "sed" program segítségével.
# A "sed" egyszerű parancssori program, ami értelmezi a bemenetet és
# kicseréli a beállított kifejezést egy adott szövegre.
# Mi itt a fájl nevét adjuk át neki (standard bemenetként), és kicseréljük
# benne a kifejezésnek megfelelő szövegrészeket.
for file in $*
do
new=`echo ${file} | sed s/${OLD}/${NEW}/g`
mv ${file} $new
done
exit 0
fi
# Ha idáig eljutottunk, akkor semmi használhatót nem adtak át a programnak
# ezért kiírjuk a felhasználónak, hogyan használja ezt a szkriptet.
echo "használat:"
echo " renna p [előtag] fájlok.."
echo " renna s [utótag] fájlok.."
echo " renna r [kifejezés] [helyettesítés] fájlok.."
exit 0
#ennyi!
#!/bin/bash
# renames.sh
# egyszerű átnevező program
criteria=$1
re_match=$2
replace=$3
for i in $( ls *$criteria* );
do
src=$i
tgt=$(echo $i | sed -e "s/$re_match/$replace/")
mv $src $tgt
done