我必须使用dos2unix转换整个目录。我不知道该怎么做这件事。


当前回答

我也遇到过同样的问题,感谢这里的帖子,我已经解决了它。我知道我有大约100个文件,我只需要为*.js文件运行它。 找到。-type f -name '*.js' -print0 | xargs -0 dos2unix . xml

谢谢大家的帮助。

其他回答

如果没有子目录,也可以取

ls | xargs -I {} dos2unix "{}"

找到。-type f -print0 | xargs -0 dos2unix . txt

将递归找到当前目录内的所有文件,并调用这些文件dos2unix命令

我认为最简单的方法是:

dos2unix $(find . -type f)

由于我对dos2unix不太满意,所以我推出了自己的简单实用程序。除了在速度和可预测性方面的一些优势外,语法也更简单:

endlines unix *

如果你想让它进入子目录(跳过隐藏的dirs和非文本文件):

endlines unix -r .

Endlines可以在这里找到https://github.com/mdolidon/endlines

对于任何Solaris用户(我使用5.10,可能也适用于更新版本,以及其他unix系统):

Dos2unix不会默认覆盖文件,它只会将更新后的版本打印到stdout,所以你必须指定源和目标,即相同的名称两次:

find . -type f -exec dos2unix {} {} \;