This question already has answers here:
How to convert DOS/Windows newline (CRLF) to Unix newline (LF) in a Bash script?
                                
                                    (22个答案)
                                
                        
                                5年前关闭。
            
                    
我一直在使用d2u转换行尾。安装Puppy Linux之后
注意,它不是d2u附带的,而是dos2unix。然后我注意到
默认情况下,Ubuntu都缺少。

转换行尾的另一种方法是什么?

最佳答案

一些选项:

使用tr

tr -d '\15\32' < windows.txt > unix.txt


要么

tr -d '\r' < windows.txt > unix.txt


使用perl

perl -p -e 's/\r$//' < windows.txt > unix.txt


使用sed

sed 's/^M$//' windows.txt > unix.txt


要么

sed 's/\r$//' windows.txt > unix.txt


要获取^M,您必须先键入CTRL-V,然后键入CTRL-M

关于bash - 转换行尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22539533/

10-13 08:50