我必须使用dos2unix转换整个目录。我不知道该怎么做这件事。
当前回答
一个常见的用例似乎是将提交到Git存储库的所有文件的行结束符标准化:
git ls-files -z | xargs -0 dos2unix
请记住,某些文件(例如*。sln, *.bat)只在Windows操作系统上使用,并且应该保持CRLF结尾:
git ls-files -z '*.sln' '*.bat' | xargs -0 unix2dos
如有必要,使用.gitattributes
其他回答
一个常见的用例似乎是将提交到Git存储库的所有文件的行结束符标准化:
git ls-files -z | xargs -0 dos2unix
请记住,某些文件(例如*。sln, *.bat)只在Windows操作系统上使用,并且应该保持CRLF结尾:
git ls-files -z '*.sln' '*.bat' | xargs -0 unix2dos
如有必要,使用.gitattributes
for FILE in /var/www/html/files/*
do
/usr/bin/dos2unix FILE
done
由于我对dos2unix不太满意,所以我推出了自己的简单实用程序。除了在速度和可预测性方面的一些优势外,语法也更简单:
endlines unix *
如果你想让它进入子目录(跳过隐藏的dirs和非文本文件):
endlines unix -r .
Endlines可以在这里找到https://github.com/mdolidon/endlines
我也遇到过同样的问题,感谢这里的帖子,我已经解决了它。我知道我有大约100个文件,我只需要为*.js文件运行它。 找到。-type f -name '*.js' -print0 | xargs -0 dos2unix . xml
谢谢大家的帮助。
对于任何Solaris用户(我使用5.10,可能也适用于更新版本,以及其他unix系统):
Dos2unix不会默认覆盖文件,它只会将更新后的版本打印到stdout,所以你必须指定源和目标,即相同的名称两次:
find . -type f -exec dos2unix {} {} \;
推荐文章
- 如何强制从另一个SSH会话分离屏幕?
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?
- Linux Bash中双&和分号有什么区别?
- 在SSH会话中查找客户端的IP地址
- C++ Linux的想法?
- 如何为Fedora安装g++ ?
- Linux删除大小为0的文件
- Spring引导应用程序作为服务
- 如何重定向标准derr和标准输出到不同的文件在同一行脚本?
- Windows和Linux上的c++编译:ifdef开关
- Linux: kill后台任务
- 如何修改Linux系统中打开文件的数量限制?
- errno线程安全吗?
- 如何在Linux中永久导出变量?
- 如何首次配置postgresql ?