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?

¿Fue útil?

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 ";" }'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top