用文件中的“ \ n”替换“ \ r \ n”的最快,最核心的方法?


11

我想这tr是一个更核心的方法,因此可能是一种替换给定文件中内容的更快方法。

但是tr只能替换相等数量的字符。含义...

2个字符只能替换为2个字符,这意味着替换

\r\n通过\n是不可能的tr

下一个最佳选择是sed什么?

是sed最核心和最快捷的方式来代替\r\n\n在一个文件中给出的缺乏TR能力?

如果可能,请举一个例子。


“最核心”到底是什么意思?
基思·汤普森

Answers:


23

使用sed,您可以执行以下操作:

sed 's/\r$//'

同样的方法tr,您只需删除\r

tr -d '\r'

尽管这样会删除所有的实例\r,但不必紧随其后\n


2
这两个并不完全相同。第一个用“ \ n”替换“ \ r \ n”(有效),但是第二个将删除所有出现的“ \ r”。回车符出现在文本文件中而不是在行尾的情况很少见,但这是可能发生的。
2014年

4

或使用 dos2unix

例如:

$ echo -ne "1\r\n2" |  od -A n -t x1
 31 0d 0a 32
$ echo -ne "1\r\n2" | dos2unix | od -A n -t x1
 31 0a 32

我们可以看到替换\r\n\n


这不是OP列表中的程序,但我认为这是完成这项工作的最干净的方法。每当我需要这种转换时,我都会亲自使用它。
рüффп
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.