3 votos

¿Cómo puedo añadir a un archivo usando dd?

En los sistemas Linux, puedo añadir a un archivo del sistema lo siguiente:

echo "# New data" | sudo dd of=/etc/config_file conv=notrunc oflag=append

Pero el comando dd en OS X no tiene el oflag opción. ¿Es esto posible en OS X?

Notas:

  1. Necesito acceso a root.
  2. No estoy pidiendo soluciones alternativas, estoy preguntando si dd tiene la capacidad.

2 votos

Instale brew y brew/coreutils que proporcionan (GNU) dd - enlazado como gdd a /usr/local/bin.

3voto

Puedes seek al final del archivo de destino:

sudo echo "# New data" |
    dd of=/etc/config_file conv=notrunc bs=1 seek=$(stat -f "%z" /etc/config_file)

1voto

Tony Williams Puntos 4903

¿Hay alguna razón por la que esté utilizando dd en lugar de la redirección de la salida?

Lo siguiente funcionará:

echo "# New data" >> /etc/config_file

El >> significa añadir al final del archivo si existe, de lo contrario crea un nuevo archivo.

0 votos

Nota sudo para el acceso a root.

0 votos

Sólo hay que añadir sudo delante de toda la línea mostrada.

0 votos

No, eso tampoco funcionará. En cualquier caso, puedo pensar en alternativas. La pregunta es específicamente sobre dd.

0voto

Shaji Kuruvi Puntos 9

También probé lo que mencionas arriba, lamentablemente no está anexando el archivo de salida como se esperaba. Pero usted puede hacer el siguiente método,

Primero cree un archivo temporal y luego use el comando dd

Crear a archivo_temporal y redirigir todos los datos/salidas que quieras escribir en ese archivo y más tarde puedes hacer

sudo dd if=/temp_file_path of=/etc/config_file conv=notrunc

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X