如何在整个目录上运行 dos2unix?[关闭]
- 2024-11-05 08:37:00
- admin 原创
- 40
问题描述:
我必须使用 转换整个目录dos2unix
。我不知道该怎么做。
解决方案 1:
find . -type f -print0 | xargs -0 dos2unix
将递归查找当前目录中的所有文件并调用这些文件的 dos2unix 命令
解决方案 2:
如果它是一个大型目录,您可能需要考虑使用多个处理器运行:
find . -type f -print0 | xargs -0 -n 1 -P 4 dos2unix
这将每次传递 1 个文件,并使用 4 个处理器。
解决方案 3:
一个常见的用例似乎是标准化提交到 Git 存储库的所有文件的行尾:
git ls-files -z | xargs -0 dos2unix
请记住,某些文件(例如*.sln
)*.bat
仅在Windows 操作系统上使用,并且应保留以下结尾CRLF
:
git ls-files -z '*.sln' '*.bat' | xargs -0 unix2dos
如有必要,使用.gitattributes
解决方案 4:
由于我对 dos2unix 不太满意,所以我推出了自己的简单实用程序。除了速度和可预测性方面的一些优势外,语法也更简单一些:
endlines unix *
如果您希望它进入子目录(跳过隐藏目录和非文本文件):
endlines unix -r .
endlines
可在此处获取https://github.com/mdolidon/endlines
解决方案 5:
最好跳过隐藏文件和文件夹,例如因此,如果您的版本足够新或者您正在使用,则.git.
不要使用,只需执行以下操作:find
`bash`zsh
dos2unix **
请注意,对于 Bash,这将需要:
shopt -s globstar
....但这是一个足够有用的功能,.bashrc
无论如何你都应该诚实地把它放在你的里面。
如果您不想跳过隐藏的文件和文件夹,但仍然不想弄乱find
(我不会责怪您),您可以提供第二个 recursive-glob 参数来仅匹配隐藏的条目:
dos2unix ** **/.*
请注意,在这两种情况下,glob 都会扩展以包含目录,因此您将看到以下警告(可能多次出现):Skipping <dir>, not a regular file.
解决方案 6:
对于任何 Solaris 用户(正在使用 5.10,也可能适用于较新的版本以及其他 unix 系统):
dos2unix 默认不会覆盖文件,它只会将更新后的版本打印到标准输出,因此您必须指定源和目标,即两次相同的名称:
find . -type f -exec dos2unix {} {} ;
解决方案 7:
我已经在 Google 上搜索过这个问题一百万次了,所以我的解决方案就是将这个 bash 函数放到你的环境中。
.bashrc
或者.profile
其他
dos2unixd() {
find $1 -type f -print0 | xargs -0 dos2unix
}
用法
$ dos2unixd ./somepath
这样,您仍然可以使用原始命令dos2unix
,并且很容易记住这个命令dos2unixd
。
解决方案 8:
我认为最简单的方法是:
dos2unix $(find . -type f)
解决方案 9:
我遇到了同样的问题,感谢这里的帖子,我解决了它。我知道我有大约一百个文件,我只需要对 *.js 文件运行它。find . -type f -name '*.js' -print0 | xargs -0 dos2unix
谢谢大家的帮助。
解决方案 10:
for FILE in /var/www/html/files/*
do
/usr/bin/dos2unix FILE
done
解决方案 11:
如果没有子目录,您也可以采取
ls | xargs -I {} dos2unix "{}"
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件