sed命令在内联但不在bash脚本中工作

时间:2017-03-16 17:43:04

标签: bash shell sed newline carriage-return

我有这个内联sed命令:

sed -e 's/^M/\'$'\n/g' filename.txt

是内联工作,但不在bash脚本中:

#!/bin/bash
sed -e 's/^M/\'$'\n/g' $1

删除\' $'从代码中解决问题(仅用" n"替换^ M)。

干杯,安德里亚

1 个答案:

答案 0 :(得分:0)

#!/bin/bash中,您需要使用$'\r'代替^M

您可以使用tr(tr anslate )命令

#!/bin/bash
tr -d $'\r' < $1

有关删除回车的解决方案,请参阅:remove ^M characters from file using sed