bash输入和输出文件中的sed命令

时间:2014-04-28 10:09:52

标签: unix sed command

有谁知道这意味着什么?

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

这是我到目前为止所做的:

\r指的是回车(CR)

所以可能交换返回运输的空白?在输入文件中? 我真的不太确定

2 个答案:

答案 0 :(得分:2)

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

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

具体来说,sed命令在行尾(\r表示)替换$时没有任何内容,与s/xyzzy/plugh/相同会更改第一个xyzzy plugh 1}}在{{1}}的行中。

答案 1 :(得分:2)

sed是您呼叫的程序的名称。

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

s/\r$//是一个替换:它告诉sed在行末($)替换回车符。 Sed为每一行做到了这一点。

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

>是一个重定向运算符,它意味着sed的输出将被重定向到outputfile

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

相关问题