Nota

Este complemento es parte del colección community.windows (versión 1.2.0).

Para instalarlo use: ansible-galaxy collection install community.windows.

Para usarlo en un libro de jugadas, especifique: community.windows.win_lineinfile.

  • Sinopsis
  • Parámetros
  • Ver también
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • Este módulo buscará una línea en un archivo y se asegurará de que esté presente o ausente.
  • Esto es principalmente útil cuando desea cambiar una sola línea en un archivo solamente.

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
backrefsbooleano
    Opciones:

  • no
Usado con state=present. Si se establece, la línea puede contener referencias inversas (tanto posicionales como con nombre) que se completarán si el regexp partidos. Esta bandera cambia ligeramente el funcionamiento del módulo; insertbefore y insertafter será ignorado, y si el regexp no coincide en ninguna parte del archivo, el archivo no se modificará. regexp coincide, la última línea coincidente será reemplazada por el parámetro de línea expandida.
respaldobooleano
    Opciones:

  • no
Determine si se debe crear una copia de seguridad. yes, cree un archivo de respaldo que incluya la información de la marca de tiempo para que pueda recuperar el archivo original si de alguna manera lo golpeó incorrectamente.
crearbooleano
    Opciones:

  • no
Usado con state=present. Si se especifica, el archivo se creará si aún no existe. De forma predeterminada, fallará si falta el archivo.
codificacioncuerda Defecto:
“auto”
Especifica la codificación del archivo de texto de origen sobre el que operar (y, por tanto, cuál será la codificación de salida). El defecto de auto hará que el módulo detecte automáticamente la codificación del archivo de origen y se asegure de que el archivo modificado se escriba con la misma codificación. Se puede pasar una codificación explícita como una cadena que es un valor válido para pasar al .NET Framework System. Método Text.Encoding.GetEncoding (): consulte https://msdn.microsoft.com/en-us/library/system.text.encoding%28v=vs.110%29.aspx.Esto es sobre todo útil con create=yes si desea crear un nuevo archivo con una codificación específica. Si create=yes se especifica sin una codificación específica, se utilizará la codificación predeterminada (UTF-8, sin BOM).
insertar despuéscuerda
    Opciones:

  • EOF
  • * expresión regular *
Usado con state=present. Si se especifica, la línea se insertará después de la última coincidencia de la expresión regular especificada. Hay un valor especial disponible; EOF para insertar la línea al final del archivo. Si la expresión regular especificada no tiene coincidencias, se utilizará EOF en su lugar. No se puede usar con backrefs.
insertar antescuerda
    Opciones:

  • BOF
  • * expresión regular *
Usado con state=present. Si se especifica, la línea se insertará antes de la última coincidencia de la expresión regular especificada. Hay un valor disponible; BOF para insertar la línea al principio del archivo. Si la expresión regular especificada no tiene coincidencias, la línea se insertará al final del archivo. No se puede usar con backrefs.
líneacuerda Requerido para state=present. La línea para insertar / reemplazar en el archivo. Si backrefs está configurado, puede contener referencias inversas que se expandirán con el regexp capturar grupos si la expresión regular coincide. Tenga en cuenta que la línea se procesa primero en el controlador y, por lo tanto, depende de las reglas de cotización de yaml. Cualquier línea entre comillas dobles tendrá caracteres de control, como ‘ r n’, expandidos. Para imprimir dichos caracteres literalmente, use comillas simples o sin comillas.
nueva líneacuerda
    Opciones:

  • unix
  • ventanas
Especifica el estilo del separador de línea que se utilizará para el archivo modificado. Este valor predeterminado es el separador de línea de Windows (rn). Tenga en cuenta que el separador de línea indicado se utilizará para la salida del archivo independientemente del separador de línea original que aparece en el archivo de entrada.
senderosendero / requerido La ruta del archivo a modificar Tenga en cuenta que el delimitador de ruta de Windows debe escaparse como \ cuando la línea está entre comillas dobles.
alias: dest, destfile, nombre
regexcuerda La expresión regular que se debe buscar en cada línea del archivo. Para state=present, el patrón a reemplazar si se encuentra; solo se reemplazará la última línea encontrada. Para state=absent, el patrón de la línea que se va a eliminar. Utiliza expresiones regulares compatibles con .NET; ver https://msdn.microsoft.com/en-us/library/hs600312%28v=vs.110%29.aspx.
alias: regexp
estadocuerda
    Opciones:

  • ausente
  • regalo
Si la línea debería estar ahí o no.
validarcuerda Validación para ejecutar antes de copiar en su lugar. Use% s en el comando para indicar el archivo actual para validar. El comando se pasa de forma segura para que las funciones de shell como la expansión y las tuberías no funcionen.

Ver también

Ver también

ansible.builtin.assemble

La documentación oficial sobre el ansible.builtin.assemble módulo.

ansible.builtin.lineinfile

La documentación oficial sobre el ansible.builtin.lineinfile módulo.

Ejemplos de

-name: Insert path without converting rn
  community.windows.win_lineinfile:path: c:file.txt
    line: c:returnnew

-community.windows.win_lineinfile:path: C:Tempexample.conf
    regex:'^name='line:'name=JohnDoe'-community.windows.win_lineinfile:path: C:Tempexample.conf
    regex:'^name='state: absent

-community.windows.win_lineinfile:path: C:Tempexample.conf
    regex:'^127.0.0.1'line:'127.0.0.1 localhost'-community.windows.win_lineinfile:path: C:Temphttpd.conf
    regex:'^Listen 'insertafter:'^#Listen 'line: Listen 8080

-community.windows.win_lineinfile:path: C:Tempservices
    regex:'^# port for http'insertbefore:'^www.*80/tcp'line:'# port for http by default'-name: Create file if it doesn't exist with a specific encoding
  community.windows.win_lineinfile:path: C:Temputf16.txt
    create: yes
    encoding: utf-16line: This is a utf-16 encoded file

-name: Add a line to a file and ensure the resulting file uses unix line separators
  community.windows.win_lineinfile:path: C:Temptestfile.txt
    line: Line added to file
    newline: unix

-name: Update a line using backrefs
  community.windows.win_lineinfile:path: C:Tempexample.conf
    backrefs: yes
    regex:'(^name=)'line:'$1JohnDoe'

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:

Llave Devuelto Descripción
respaldocuerda si copia de seguridad = sí Nombre del archivo de respaldo que se creó. Ahora está en desuso, use backup_file en lugar de.
Muestra:C: Ruta A Archivo.txt.11540.20150212-220915.bak
archivo de respaldocuerda si copia de seguridad = sí Nombre del archivo de respaldo que se creó.
Muestra:C: Ruta A Archivo.txt.11540.20150212-220915.bak

Autores

  • Brian Lloyd (@brianlloyd)