Pregunta
Si tengo una lista de datos en un archivo de texto separado por una nueva línea, ¿hay alguna forma de agregar algo al inicio, luego los datos, luego agregar otra cosa y luego los datos nuevamente?
Por ejemplo, un campo X se convertirá en nuevo X = X;
¿Puedes hacer esto con bash o sed o solo con herramientas de Unix como cortar?
EDITAR:
Estoy intentando obtener " ITEM_SITE_ID: {$ fila ['ITEM_SITE_ID']}
" .
Estoy usando esta línea awk '{print " \ " " $ 1 " {: $ fila ['$ 1']}
" } '
Y obtengo este " ITEM_SITE_ID {: $ row []}
¿Qué me he perdido?
Solución
Creo que el problema es que sus comillas simples no se escapan correctamente, lo que en realidad es imposible de hacer.
Con sed:
sed "s/\(.*\)/\1 = \1;/"
O en tu caso:
sed "s/\(.*\)/\"\1 :{\$row['\1']}\"/"
Y con bash:
while read line
do
echo "\"$line :{\$row['$line']}\""
done
Y, de hecho, puedes hacerlo en awk usando bashes $ '' cadenas:
awk { print "\\"" $1 " :{$row[\'" $1 "\']}\\"" }'
Otros consejos
Awk es a menudo la herramienta perfecta para tareas como esta. Para su ejemplo específico:
awk '{ print "new " $1 " = " $1 ";" }'