
Quiero duplicar un texto varias veces. Xargs no hace más de 5 artículos. No sé si hay una mejor manera de hacer esto.
echo "sometext " | xargs -n 9 -t -I RRRR echo RRRR RRRR RRRR RRRR RRRR RRRR RRRR
echo sometext sometext sometext sometext sometext RRRR RRRR
sometext sometext sometext sometext sometext RRRR RRRR
En última instancia, esto debería terminar impreso para crear algunos comandos que necesitan el mismo texto en diferentes lugares.
echo "sometext " | xargs -t -I RRRR printf " cmd1 %s cmd2 %s cmd3 %s cmd4 %s cmd5 %s cmd6 %s cmd7 %s" RRRR RRRR RRRR RRRR RRRR RRRR RRRR
printf cmd1 %s cmd2 %s cmd3 %s cmd4 %s cmd5 %s cmd6 %s cmd7 %s sometext sometext sometext sometext sometext RRRR RRRR
cmd1 sometext cmd2 sometext cmd3 sometext cmd4 sometext cmd5 sometext cmd6 RRRR cmd7 RRRR⏎
Después del quinto parámetro, xargs deja de realizar reemplazos.
echo "sometext " | xargs -n 9000 -t -I RRRR printf " cmd1 %s cmd2 %s cmd3 %s cmd4 %s cmd5 %s cmd6 %s cmd7 %s" RRRR RRRR RRRR RRRR RRRR RRRR RRRR
printf cmd1 %s cmd2 %s cmd3 %s cmd4 %s cmd5 %s cmd6 %s cmd7 %s sometext sometext sometext sometext sometext RRRR RRRR
cmd1 sometext cmd2 sometext cmd3 sometext cmd4 sometext cmd5 sometext cmd6 RRRR cmd7 RRRR⏎
Intenté usar las opciones -n y -L pero tampoco funcionaron.
echo "sometext " | xargs -L 1 -t -I RRRR printf " cmd1 %s cmd2 %s cmd3 %s cmd4 %s cmd5 %s cmd6 %s cmd7 %s" RRRR RRRR RRRR RRRR RRRR RRRR RRRR
printf cmd1 %s cmd2 %s cmd3 %s cmd4 %s cmd5 %s cmd6 %s cmd7 %s sometext sometext sometext sometext sometext RRRR RRRR
cmd1 sometext cmd2 sometext cmd3 sometext cmd4 sometext cmd5 sometext cmd6 RRRR cmd7 RRRR⏎
Detalles de mi sistema operativo
xargs version
macOS 13.2
August 4, 2015
macOS 13.2
Respuesta1
No sé lo que estás haciendo, pero xargs
probablemente sea la solución incorrecta.
Una forma sencilla de entrar bash
sería
for i in $(seq 1 10) ; do
echo -n "sometext "
if [ $i = 10 ] ; then
echo
fi
done
O
yes sometext | head -11 | paste -sd' '
O, si realmente te gusta xargs
:
echo sometext | xargs yes 2>/dev/null | head -12 | paste -sd' '