I tienen dos listas de igual longitud, sin espacios en los elementos individuales:iterar sobre dos listas en paralelo en/bin/sh
list1="a b c"
list2="1 2 3"
Quiero iterar sobre estas dos listas en paralelo, el emparejamiento de un con 1, B 2, etc .:
a 1
b 2
c 3
estoy intentando apoyar moderna shell Bourne portátil, por lo Bash/ksh matrices no están disponibles. Desvanecerse a awk sería aceptable en un apuro, pero preferiría mantener esto en sh puro si es posible.
¡Gracias por cualquier información que pueda proporcionar!
FWIW esto no funciona en/bin/sh en un servidor Solaris. se queda atascado en un bucle sin fin repitiendo "1 a" – jj33
Bueno, el interlocutor ha aceptado, así que supongo que funciona para él. No tengo un servidor Solaris. Si agrega un comentario con la corrección (será algo en el sed rexgep) lo agregaré, pero hasta entonces dejaré la respuesta como está. –
Comentando la respuesta aceptada, no funcionó para mí ni en Linux ni en Solaris, el problema era el atajo de clase de caracteres \ S en la expresión regular para sed. Lo reemplacé con [^] y funcionó – jj33