use*_*233 10 unix linux bash command-line end-of-line
如何转换所有EOL(DOS的> UNIX)目录中的所有文件和子目录的递归没有 dos2unix?(我没有它,也无法安装它.)
有没有办法使用tr -d '\r'和管道?如果是这样,怎么样?
smo*_*ing 12
对于当前目录中的所有文件,您可以使用Perl one-liner进行:( perl -pi -e 's/\r\n/\n/g' *从这里偷来)
编辑:通过一个小修改你可以做子目录递归:
find | xargs perl -pi -e 's/\r\n/\n/g'
Run Code Online (Sandbox Code Playgroud)
您可以使用sed的-i标志来就地更改文件:
find . -type f -exec sed -i 's/\x0d//g' {} \+
Run Code Online (Sandbox Code Playgroud)
如果我是你,我会保留文件以确保操作正常.然后,您可以在完成后删除临时文件.这可以这样做:
find . -type f -exec sed -i'.OLD' 's/\x0d//g' {} \+
find . -type f -name '*.OLD' -delete
Run Code Online (Sandbox Code Playgroud)