我必须使用dos2unix转换整个目录。我不知道该怎么做这件事。
当前回答
对于任何Solaris用户(我使用5.10,可能也适用于更新版本,以及其他unix系统):
Dos2unix不会默认覆盖文件,它只会将更新后的版本打印到stdout,所以你必须指定源和目标,即相同的名称两次:
find . -type f -exec dos2unix {} {} \;
其他回答
由于我对dos2unix不太满意,所以我推出了自己的简单实用程序。除了在速度和可预测性方面的一些优势外,语法也更简单:
endlines unix *
如果你想让它进入子目录(跳过隐藏的dirs和非文本文件):
endlines unix -r .
Endlines可以在这里找到https://github.com/mdolidon/endlines
如果没有子目录,也可以取
ls | xargs -I {} dos2unix "{}"
如果它是一个大目录,你可能需要考虑运行多个处理器:
find . -type f -print0 | xargs -0 -n 1 -P 4 dos2unix
这将一次传递一个文件,并使用4个处理器。
对于任何Solaris用户(我使用5.10,可能也适用于更新版本,以及其他unix系统):
Dos2unix不会默认覆盖文件,它只会将更新后的版本打印到stdout,所以你必须指定源和目标,即相同的名称两次:
find . -type f -exec dos2unix {} {} \;
我认为最简单的方法是:
dos2unix $(find . -type f)
推荐文章
- 如何找到Java堆大小和内存使用(Linux)?
- 遍历带空格的文件列表
- Bash:无限睡眠(无限阻塞)
- 如何使Python脚本在Linux中像服务或守护进程一样运行
- 如何使用文件的行作为命令的参数?
- time_t最终的类型定义是什么?
- 如何使用cut为分隔符指定更多的空格?
- 没有找到Gradlew命令?
- 如何在Vim或Linux中将空格转换为制表符?
- 在一台主机上有多个glibc库
- 如何让命令行参数传递给unix/linux系统上正在运行的进程?
- Linux有c++ gdb图形用户界面吗?
- arm64和armhf有什么区别?
- 当存储命令输出到变量时,如何保存换行符?
- 如何创建一个十六进制转储文件只包含十六进制字符没有空格在bash?