我想对文件夹内的所有文件运行dos2unix
命令。这里的问题是文件夹包含文件和子文件夹。子文件夹再次包含文件和文件夹。因此,如果我只是运行user/bin/dos2unix <folder>
,它将引发错误,因为主文件夹中存在子文件夹和文件夹。
有关如何绕过这个以便dos2unix
命令在每个文件夹内的文件上运行的任何想法吗?
答案 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 {} +