我试图通过运行一个使用os.system的Awk命令,将文本文件中的换行符转换为字符串中的"\n"字符:
awk '{printf "%s\\n", $0}' /tmp/file
我的问题是转义引号不起作用:
$ replace = "awk '{printf \"%s\\n\", $0}' /tmp/file"
$ print(replace)
awk '{printf "%s\n", $0}' /tmp/file
我也尝试使用shlex:
我也尝试使用shlex:
$ import shlex
$ line = "awk '{printf \"%s\\n\", $0}'"
$ lexer = shlex.shlex(line, posix=True)
$ lexer.escapedquotes = "'\""
$ mystring = ','.join(lexer)
$ print(mystring)
awk,{printf "%s\n", $0}
我需要知道如何使用Python运行这个awk命令,或者如何将文件中的回车/换行符转换为字符串中的"\n"。这是一个关于IT技术的问题。以下是一个示例文件:
oneline
twoline
threeline
以下是该文件应返回的方法内容:
oneline\ntwoline\n\nthreeline
replace = "awk '{printf \"%s\\\\n\", $0}' /tmp/file"
- Eypros'\n'
('\0a'
) 还是两个字符'\\'
'n'
('\x5d\x6e'
) 替换行尾? - Serge Ballesta