diff --git a/files/lineinfile b/files/lineinfile index 06e946f130b..f781911ccd1 100644 --- a/files/lineinfile +++ b/files/lineinfile @@ -351,8 +351,9 @@ def main(): if ins_bef is None and ins_aft is None: ins_aft = 'EOF' - # Replace the newline character with an actual newline. - line = params['line'].decode('string_escape') + # 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)