0

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

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

4

3 回答 3

4

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

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

.是您当前的目录和"*.txt" are all yourdos` 文件。

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

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

find /path/from/where/you/want/to -name "*.txt" | xargs dos2unix
于 2018-03-05T14:24:39.170 回答
1
find <folder> -type f | xargs dos2unix

解释:

  • find <folder> -type f将列出其中的所有常规文件<folder>及其子文件夹
  • xargs dos2unixdos2unix命令应用于找到的每个文件find
于 2018-03-05T14:19:20.337 回答
1

xargs这里不需要;只需使用-exec主要的find

find -type f -exec dos2unix {} +
于 2018-03-05T14:47:22.150 回答