diff --git a/files/lineinfile b/files/lineinfile index 82658cae654..e05652a1f9b 100644 --- a/files/lineinfile +++ b/files/lineinfile @@ -348,7 +348,11 @@ def main(): if ins_bef is None and ins_aft is None: ins_aft = 'EOF' - present(module, dest, params['regexp'], params['line'], + # Replace the newline character with an actual newline. Don't replace + # escaped \\n, hence sub and not str.replace. + line = re.sub(r'\n', os.linesep, params['line']) + + present(module, dest, params['regexp'], line, ins_aft, ins_bef, create, backup, backrefs) else: if params['regexp'] is None and params.get('line', None) is None: