Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

xargs

2 réponses
Avatar
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
limit=10000
# 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.

2 réponses

Avatar
Stephane CHAZELAS
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
Avatar
Cyrille Lefevre
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.