Używam [wyszukiwanie pliku], który odczytuje cały plik i przechowuje zawartość w zmiennej. Moja gra wygląda mniej więcej tak:Jak usunąć znak łamania linii ' n' z wyniku modułu lookup() w Ansible?
- name: Store foo.xml contents in a variable
set_fact:
foo_content: "{{ lookup('file', 'foo.xml') | replace('\n', '')}}"
więc powyższy kod odczytuje plik bardzo dobrze i przechowuje go w zmiennej, ale problem jest, gdy ma podziałów wierszy w nim, że obejmuje również podział wiersza w zmiennej.
My jest ten plik:
<?xml version="1.0" encoding="utf-8"?>
<initialize_param>
<secrets>
<my_secret id="99">3VMjII6Hw+pd1zHV5THSI712y421USUS8124487128745812sajfhsakjfasbfvcasvnjasjkvbhasdfasgfsfaj5G8A9+n8CkLxk7Dqu0G8Jclg0eb1A5xeFzR3rrJHrb2GBBa7PJNVx8tFJP3AtF6ek/F/WvlBIs2leX2fq+/bGryKlySuFmbcwBsThmPJC5Z5AwPJgGZx</my_secret>
</secrets>
</initialize_param>
Wyjście usuwa linia przerwania \ n ale również incudes zaczepy \ r & \ t
muszę pozbył się \n
, trzeba uzyskać pozbędziesz się także dodatkowego formowania (\ r & \ t), ponadto po wymianie filtra otrzymuję komunikat o błędzie podczas uruchamiania zapytania o aktualizację bazy danych jako
stderr: /bin/sh: 1: cannot open ?xml: No such file
Domyślam się, że \ n jest tylko artefaktem debugowania i jest tam prawidłowo obsługiwane. –
nie, to faktycznie przechowuje je jako \ n, a następnie, gdy wypycham zmienną w bazie danych, generuje błąd: –
Czy możesz wyjaśnić, jakiego rodzaju błąd i jak naciskasz do bazy danych? –