\r从 Unix 文件中删除所有回车的最简单方法是什么?
\r
我将假设您的意思是在行尾的回车( ,CR , "\r")0x0d,而不是盲目地在文件中(据我所知,您可能将它们放在字符串的中间)。仅在第一行末尾使用此测试文件: __CR
CR
"\r"
0x0d
$ cat infile hello goodbye $ cat infile | od -c 0000000 h e l l o \r \n g o o d b y e \n 0000017
dos2unix如果它已安装在您的系统上,这是要走的路:
dos2unix
$ cat infile | dos2unix -U | od -c 0000000 h e l l o \n g o o d b y e \n 0000016
如果由于某种原因dos2unix您无法使用,那么sed将这样做:
sed
$ cat infile | sed 's/\r$//' | od -c 0000000 h e l l o \n g o o d b y e \n 0000016
如果由于某种原因sed您无法使用,那么ed将以一种复杂的方式进行操作:
ed
$ echo ',s/\r\n/\n/ > w !cat > Q' | ed infile 2>/dev/null | od -c 0000000 h e l l o \n g o o d b y e \n 0000016
如果您的盒子上没有安装 任何 这些工具,那么您遇到的问题比尝试转换文件要大:-)