我必须使用dos2unix转换整个目录。我不知道该怎么做这件事。
当前回答
最好跳过隐藏的文件和文件夹,比如.git。所以,如果你的bash版本是最近的,或者你正在使用zsh,而不是使用find,只需执行:
dos2unix **
注意,对于Bash,这将需要:
shopt -s globstar
....但这是一个非常有用的功能,你应该把它放在你的。bashrc中。
如果你不想跳过隐藏的文件和文件夹,但你仍然不想打乱find(我不会责怪你),你可以提供第二个递归glob参数来只匹配隐藏的条目:
dos2unix ** **/.*
注意,在这两种情况下,glob都将扩展到包含目录,因此您将看到以下警告(可能多次):
其他回答
找到。-type f -print0 | xargs -0 dos2unix . txt
将递归找到当前目录内的所有文件,并调用这些文件dos2unix命令
我也遇到过同样的问题,感谢这里的帖子,我已经解决了它。我知道我有大约100个文件,我只需要为*.js文件运行它。 找到。-type f -name '*.js' -print0 | xargs -0 dos2unix . xml
谢谢大家的帮助。
如果没有子目录,也可以取
ls | xargs -I {} dos2unix "{}"
如果它是一个大目录,你可能需要考虑运行多个处理器:
find . -type f -print0 | xargs -0 -n 1 -P 4 dos2unix
这将一次传递一个文件,并使用4个处理器。
for FILE in /var/www/html/files/*
do
/usr/bin/dos2unix FILE
done
推荐文章
- 如何强制从另一个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 ?