如何取消文本文件?

时间:2018-02-08 14:39:38

标签: bash terminal cat

我有一个包含以下内容的文件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终端中实现这一目标?

3 个答案:

答案 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键并在下一行中完成命令。