find ./* -prune -type d -exec du -sk {} \;
ls -l | tail -1
positionner les 2 lignes suivantes en début de script
SCRIPT_DIR=`echo $0 | awk -F "/" '{if($NF!=$0){print substr($0,0,length($0)-length($NF)-1)}else{print "."}}'`
cd $SCRIPT_DIR
du . | sort -n -r | head -n 50
du -a . | sort -n -r | head -n 50
find . -type d -exec chmod 755 {} \;
find <repertoire> -uid <UID> -exec chown wwwrun:www {} +
du -sk $REP | awk '{print $2,": ",$1, "ko"}'
for REP in `ls -l | grep '^d'`
do
du -sk $REP | awk '{print $2,": ",$1, "ko"}'
done
| Nom de fichier | basename |
|---|---|
| Chemin d'acces au fichier | dirname |
for FIC in `ls -lrt | grep "^-" | grep " ao.t 24 " | awk '{print $9}'`
do
rm -rf ${FIC}
done
– OU –
ls -lrt | grep "f.vr 4" | sed -e 's/.* //' | xargs rm
find ${REP}/ -name "*.gz" -mtime +7 -exec rm {} \;
exemple : renommer IMG_xxxx.jpg en YYYYMMJJ_photo_xxxx.jpg
ls IMG_*.jpg | sed 's:IMG_\(.*\).jpg:mv "&" "`date +Ymd`_photo_\1":g' | ksh
exemple : déplacer et renommer tous les fichiers contenant TEST en PREFIXE_*test* + utilisation de variables pour les répertoires
export REPSRC=/tmp/SOURCE
export REPDST=/tmd/DESTINATION
find ${REPSRC} -name *TEST* | sed "s:${REPSRC}/\(.*\):mv & ${REPDST}/PREFIXE_\1:g" | ksh
ls *.CBL | sed 's/\(.*\)\.CBL/mv \1\.CBL \1\.cbl/g' | ksh
sed 's/<FROM>/<TO>/g' -i <FICHIER>
Avec recuperation du fichier d'origine si plantage :
for FIC in `ls -lrt | grep " Dec 14 " | grep "<chaine>" | awk '{print $9}'`
do
mv $FIC $FIC.old
print -n Remplacement dans $FIC...
sed 's/<FROM>/<TO>/g' < $FIC.old > $FIC
if (( $? == 0 ))
then
print OK
rm -f $FIC.old
else
print KO
mv $FIC.old $FIC
fi
done
for FIC in `find . -type f`
do
echo -e -n "Remplacement dans $FIC... "
sed 's/function blabla/function blabla/g' -i $FIC
if (( $? == 0 ))
then
echo OK
else
echo KO
fi
done