xargs

Le
Cyrille Lefevre
Hi, Bonjour,

find /var/depot/www -type f |
# remplacement de tous les " par "
sed -e 's/"/\&/g' |
(
# longueur maximale de la ligne de commande
limit000
# valeur initiale
args=mv
while read line; do
# si la limite est atteinte
if (( ${#args} + ${#line} + 1 > ${limit} )); then
# execution de la ligne de commande prepare
eval ${args} /var/www/a_traiter
# puis reinitialisation
args=mv
# pas de continue pour ne pas perdre l'argument courant
fi
# ajout de l'argument courant a la ligne de commande a executer
args="${args} "${line}""
done
# traitement de ce qui reste
eval ${args} /var/www/a_traiter
)

Regards, Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%nospam@laposte.net.invalid
supprimer "%nospam% et ".invalid" pour me repondre.
remove "%nospam" and ".invalid" to answer me.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane CHAZELAS
Le #22557471
2010-09-08, 11:26(+02), Cyrille Lefevre:

Hi, Bonjour,

find /var/depot/www -type f |
# remplacement de tous les " par "
sed -e 's/"/\&/g' |
(
# longueur maximale de la ligne de commande
limit000
# valeur initiale
args=mv
while read line; do
# si la limite est atteinte
if (( ${#args} + ${#line} + 1 > ${limit} )); then
# execution de la ligne de commande prepare
eval ${args} /var/www/a_traiter
# puis reinitialisation
args=mv
# pas de continue pour ne pas perdre l'argument courant
fi
# ajout de l'argument courant a la ligne de commande a executer
args="${args} "${line}""
done
# traitement de ce qui reste
eval ${args} /var/www/a_traiter
)


[...]

Pas mal de bugs, de trous de securité, de non-POSIXness la
dedans.

find /var/depot/www -type f -exec sh -c '
exec mv "$@" /var/www/a_traiter' {} +

--
Stephane
Cyrille Lefevre
Le #22564901
Le 10/09/2010 12:49, Stephane CHAZELAS a écrit :
2010-09-08, 11:26(+02), Cyrille Lefevre:
[...]

Pas mal de bugs, de trous de securité, de non-POSIXness la
dedans.

find /var/depot/www -type f -exec sh -c '
exec mv "$@" /var/www/a_traiter' {} +



Bonjour,

1/ erreur de publipostage, j'ai annulé le message depuis.
2/ toutefois, ou sont les bugs et les trous de sécurité ?
3/ quant au non-posix, hormis les (( )), je ne vois pas.
de toutes les façons, je ne fais que du ksh like :-)

sinon, ça va bien ?

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Publicité
Poster une réponse
Anonyme