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


当前回答

如果它是一个大目录,你可能需要考虑运行多个处理器:

find . -type f -print0 | xargs -0 -n 1 -P 4 dos2unix 

这将一次传递一个文件,并使用4个处理器。

其他回答

我认为最简单的方法是:

dos2unix $(find . -type f)

如果它是一个大目录,你可能需要考虑运行多个处理器:

find . -type f -print0 | xargs -0 -n 1 -P 4 dos2unix 

这将一次传递一个文件,并使用4个处理器。

我已经在谷歌上搜索过上百万次了,所以我的解决方案是把这个bash函数放到你的环境中。

。bashrc或。profile之类的

dos2unixd() {
  find $1 -type f -print0 | xargs -0 dos2unix
}

使用

$ back2unixd ./somepath

这样,您仍然有原来的命令dos2unix,并且很容易记住这个命令dos2unixd。

for FILE in /var/www/html/files/*
do
 /usr/bin/dos2unix FILE
done

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

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