Unix bash输入和输出文件中的sed命令
有人知道这是什么意思吗Unix bash输入和输出文件中的sed命令,unix,sed,command,Unix,Sed,Command,有人知道这是什么意思吗 sed -e 's/\r$//' inputfile > outputfile 这就是我到目前为止所做的: \r指回车(CR) 那么是否可以将空格换成回车?在输入文件中? 我不太确定它是否真的将文件从CRLF-终止行更改为LF-终止行。前者往往是Windows类型的文件,其中每行以回车符/换行符(CRLF或\r\n)结尾 UNIX类型的文件只有一个换行符(LF或\n) 具体地说,sed命令将一行末尾(由$指示)的\r替换为零,与s/xyzy/plugh/相同,它将
sed -e 's/\r$//' inputfile > outputfile
这就是我到目前为止所做的:
\r
指回车(CR)
那么是否可以将空格换成回车?在输入文件中?
我不太确定它是否真的将文件从
CRLF
-终止行更改为LF
-终止行。前者往往是Windows类型的文件,其中每行以回车符/换行符(CRLF
或\r\n
)结尾
UNIX类型的文件只有一个换行符(LF
或\n
)
具体地说,
sed
命令将一行末尾(由$
指示)的\r
替换为零,与s/xyzy/plugh/
相同,它将行中的第一个xyzy
更改为plugh它将文件从CRLF
终止的行更改为LF
终止的行。前者往往是Windows类型的文件,其中每行以回车符/换行符(CRLF
或\r\n
)结尾
UNIX类型的文件只有一个换行符(LF
或\n
)
具体地说,sed
命令将一行末尾(由$
指示)的\r
替换为零,这与s/xyzy/plugh/
相同,将把行中的第一个xyzy
更改为plughsed
是您调用的程序的名称
-e
告诉sed以下参数是要运行的表达式
s/\r$/
是一种替换:它告诉sed将行末尾($
)的回车替换为零。Sed对每一行都这样做
inputfile
是sed从中读取其输入的文件
是一个重定向操作符,它意味着sed的输出将被重定向到outputfile
基本上,结果应该与dos2unix
(有时从dos
重命名为)相同。sed
是您调用的程序的名称
-e
告诉sed以下参数是要运行的表达式
s/\r$/
是一种替换:它告诉sed将行末尾($
)的回车替换为零。Sed对每一行都这样做
inputfile
是sed从中读取其输入的文件
是一个重定向操作符,它意味着sed的输出将被重定向到outputfile
基本上,结果应该与dos2unix
(有时从dos
重命名为)相同。谢谢。那你知道这个有什么区别吗?sed-e's/$/\r/'inputfile>outputfile我猜它告诉我们用空格替换回车?@user3576917:否。它用回车($
)替换行尾(\r
)。请参见unix2dos
或todos
,以了解替代方案。谢谢。那你知道这个有什么区别吗?sed-e's/$/\r/'inputfile>outputfile我猜它告诉我们用空格替换回车?@user3576917:否。它用回车($
)替换行尾(\r
)。请参见unix2dos
或todos
,了解备选方案。