我有一个包含以下内容的文件log.txt
:
systemd[1]: Starting dracut cmdline hook...\r\n[ 8.759274] systemd[1]:
当我cat log.txt
输出时:
systemd[1]: Starting dracut cmdline hook...\r\n[ 8.759274] systemd[1]:
预期输出为2行(\r\n
将替换为明显的新行):
systemd[1]: Starting dracut cmdline hook...
[ 8.759274] systemd[1]:
如何在bash终端中实现这一目标?
答案 0 :(得分:7)
不涉及任何外部命令,您可以使用/wc-api/v3/products?filter[limit]=
代替printf '%b\n'
执行此操作:
cat
printf '%b\n' "$(<log.txt)"
systemd[1]: Starting dracut cmdline hook...
[ 8.759274] systemd[1]:
在相应的参数%b
是bash指令,用于获取$(<log.txt)
答案 1 :(得分:3)
您可以使用echo -e
:
echo -e $(<log.txt)
答案 2 :(得分:0)
您也可以使用sed:
$ cat log.txt | sed -e 's/\\n/\n/' -e 's/\\r//'
如果这不起作用,请尝试
$ cat log.txt | sed -e 's/\\r//' -e 's/\\n/\
/'
即,在最后一个反斜杠后按Enter键并在下一行中完成命令。