|
|
|
|
|
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement. Important :
quand vous posez une question, n'oubliez pas de nous donner les indications suffisantes pour que nous puissions répondre. En effet, la divination n'est pas le fort du Linuxien averti. Pour une meilleure compréhension, le bon usage de la grammaire et de l'orthographe est fortement encouragé. En particulier, le langage SMS est à éviter absolument. En cas d'abus, il pourra être censuré sans autre forme de procès. Les messages dont le contenu est illégal (incitant à la haine - raciale ou autre, diffamant), ou dont le contenu est sans rapport avec le sujet du forum, ou qui sont parfaitement stupides ou hors sujet seront supprimés sans pitié. Il pourra même être fait appel au fournisseur d'accès du coupable pour faire cesser ses agissements. |
||
for i in `find $CIBLE_NAME/.temp -type d`
do
echo "$i"
done
find $CIBLE_NAME/.temp -type d -print
find $CIBLE/.temp -type d -exec tonscript '{}' ';'for f in $CIBLE/.temp/**/*(/); do tonscript $f; done
if [-d "$i" ]; then ...Franckinux a écrit :
#!/bin/sh commande |while read i do ...<traitement de "$i"> done
#!/bin/sh # On crée un fichier contenant le résultat commande >fichier # On crée un nouveau canal IO contenant le fichier exec 3<fichier # On lit ce canal while read i 0<&3 do ...<traitement de "$i"> done
#!/bin/sh # On crée un fichier avec nom unique commande >/tmp/fichier$$ # On crée un nouveau canal IO contenant le fichier exec 3</tmp/fichier$$ # On lit ce canal while read i 0<&3 do ...<traitement de "$i"> done
while read i do ...<traitement de "$i"> done < liste.txt
ls /bidule > liste.txt
while read i
do
...<echo détails du traitement de "$i">
echo "Faire vraiment traitement de $i ? (oui/non)" read val
if[ $val = "oui" ]; then
...<traitement de "$i">
fi
done < liste.txtFranckinux a écrit :
Franckinux a écrit :
find $CIBLE_NAME/.temp -type d > liste$$.txt
ahhh ça m'rend foouuu
find $CIBLE_NAME/.temp/ -type d > liste$$.txt
Franckinux a écrit :
ls $CIBLE_NAME/.temp -type d > liste$$.txt
exec 3<liste$$.txt
while read i 0<&3
do
# On élimine tout ce qui n'est pas répertoire
....test ! -d "$CIBLE_NAME/.temp/$i" && continue
....# Ici, on est certain que "$i" est un répertoire !!!
....<...>
doneFranckinux a écrit :
find $CIBLE_NAME/.temp/* -maxdepth 0 -type d|sort > liste$$.tmp # Creation du canal IO exec 3< liste$$.tmp # lecture du canal IO while read I 0<&3 do DEBUT=`echo $I|cut -d"/" -f6|cut -c1-3` DOSSIER=`echo $I|cut -d"/" -f6` DOSSIER_CIBLE=`echo $DOSSIER|cut -d"-" -f1` DOSSIER_CIBLE=`expr "$DOSSIER_CIBLE" : "\(.*\).$"` echo "######################################################################################" echo "Dossier : $I :" echo "" ls -1 "$I" echo "" NB=`ls -1 "$I"|wc -l` echo "$NB fichier(s)" echo "--------------------------------------------------------------------------------------" echo "Existant dans $CIBLE_NAME :" echo "" find $CIBLE_NAME/$DEBUT* -maxdepth 1 -type d|sort echo "--------------------------------------------------------------------------------------" echo -n "Deplacer vers $CIBLE_NAME ?(o/n)"; read VAL echo "--------------------------------------------------------------------------------------" if [ "$VAL" = "o" ]; then if [ ! -d "$CIBLE_NAME/$DOSSIER_CIBLE" ]; then echo "Creation de '$CIBLE_NAME/$DOSSIER_CIBLE'" mkdir "$CIBLE_NAME/$DOSSIER_CIBLE" else echo "'$CIBLE_NAME/$DOSSIER_CIBLE' existe deja" fi echo "Deplacement de '$CIBLE_NAME/.temp/$DOSSIER' vers '$CIBLE_NAME/$DOSSIER_CIBLE'" mv $CIBLE_NAME/.temp/"$DOSSIER" "$CIBLE_NAME/$DOSSIER_CIBLE" fi done rm -f liste$$.tmp
# lecture du canal IO
while read I 0<&3
do
while [ "$VAL" != "q" ]
do
DEBUT=`echo $I|cut -d"/" -f6|cut -c1-3`
...blablabla
echo -n "Deplacer vers $CIBLE_NAME ?(o/n)"; read VAL
...blablabla
done
doneFranckinux a écrit :
Franckinux a écrit :
while read i 0<&3 do ....# Boucle de saisie infinie ....while true ....do ........echo "Déplacer vers $CIBLE_NAME ? (o/n)"; read val ........case $val in ...........[oO]|[yY]|[oO][uU][iI]|[yY][eE][sS]) ................# Déplacement ................mv machin dans chose ................# Sortie boucle infinie ................break ................;; ...........[nN]|[nN][oO][nN]|[nN][oO]) ................# Sortie boucle infinie ................break ...........[qQ]|[qQ][uU][iI][tT]) ................# Sortie générale ................break 2 ...........*) ................echo "Mauvaise réponse - Recommencez" ........esac ....done done
text="chaine 1 - chaine 2" result=`echo $text|cut -d" - " -f1`
Franckinux a écrit :
Franckinux a écrit :
text="chaine 1 - chaine 2" result=`echo $text|cut -d" - " -f1`
result=`echo $text |cut -d"-" -f1 |sed -e "s/ $//"`
Je comprends pas pourquoi tu n'obtiens pas \"text=chaine1\" a écrit :
result=`echo $text |cut -d"-" -f1 |sed -e "s/ $//"`
text="chaine-1 - chaine-2"
Franckinux a écrit :
text="chaine-1 - chaine-2" result=`echo $text |sed -e "s/ - /-/" |cut -d"-" -f1`