如何在多个文件夹和子文件夹中的文件上运行dos2unix命令?

时间:2018-03-05 14:14:32

标签: linux bash shell command dos2unix

我想对文件夹内的所有文件运行dos2unix命令。这里的问题是文件夹包含文件和子文件夹。子文件夹再次包含文件和文件夹。因此,如果我只是运行user/bin/dos2unix <folder>,它将引发错误,因为主文件夹中存在子文件夹和文件夹。

有关如何绕过这个以便dos2unix命令在每个文件夹内的文件上运行的任何想法吗?

3 个答案:

答案 0 :(得分:2)

从您要执行dos2unix命令的位置运行以下命令。根据您的文件扩展名类型更改以下"*.txt"。如果它们在不同的目录位置不同,则将其设为"*.*"

find . -name "*.txt" | xargs dos2unix

此处.是您当前的目录和"*.txt" are all your dos`文件。

上述命令如何工作?它将找到所有dos个文件*.txt,并将每个file输入为dos2unix命令的参数,并将该dos格式文件转换为{{1}格式。

如果您想从任何位置运行它,只需提供完整路径代替unix,如下所示: -

.

答案 1 :(得分:1)

find <folder> -type f | xargs dos2unix

<强>解释

  • find <folder> -type f将列出<folder>及其子文件夹
  • 中的所有常规文件
  • xargs dos2unix会将dos2unix命令应用于find
  • 找到的每个文件

答案 2 :(得分:1)

此处不需要

xargs;只需使用-exec主要版本find

find -type f -exec dos2unix {} +