【问题标题】:sed command in bash input and output filebash 输入和输出文件中的 sed 命令
【发布时间】:2014-06-13 19:58:39
【问题描述】:

有人知道这是什么意思吗?

sed -e 's/\r$//' inputfile > outputfile

这是我目前所拥有的:

\r 指回车 (CR)

那么有可能将空白换成回程车吗?在输入文件中? 我真的不太确定

【问题讨论】:

    标签: unix sed command


    【解决方案1】:

    它将文件从CRLF-终止的行更改为LF-终止的行。前者往往是 Windows 类型的文件,其中每一行都以回车/换行结尾(CRLF\r\n)。

    UNIX 类型的文件只有一个换行符(LF\n)。

    具体来说,sed 命令将行尾的\r(由$ 表示)替换为空,与s/xyzzy/plugh/ 相同,会将行中的第一个xyzzy 更改为plugh .

    【讨论】:

      【解决方案2】:

      sed 是您调用的程序的名称。

      -e 告诉 sed 以下参数是要运行的表达式。

      s/\r$// 是一个替换:它告诉 sed 将行尾的回车 ($) 替换为空。 Sed 对每一行都这样做。

      inputfile 是 sed 从中读取其输入的文件。

      >是一个重定向操作符,表示sed的输出会被重定向到outputfile

      基本上,结果应该与dos2unix 相同(有时重命名为fromdos)。

      【讨论】:

      • 谢谢。那你知道和这个有什么区别吗? sed -e 's/$/\r/' inputfile > outputfile 我猜它告诉说用空格替换回车?
      • @user3576917:不。它用回车符 (\r) 替换行尾 ($)。请参阅unix2dostodos 了解替代方案。
      猜你喜欢
      • 2012-06-05
      • 2016-07-13
      • 2021-02-26
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多