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

问题描述 投票:0回答:3

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

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

linux bash shell command dos2unix
3个回答
2
投票

只需从您要执行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

1
投票
find <folder> -type f | xargs dos2unix

说明:

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

1
投票

这里不需要xargs;只需使用-exec primary to find

find -type f -exec dos2unix {} +
© www.soinside.com 2019 - 2024. All rights reserved.