我正在使用 xargs,但参数列表太长
I'm using xargs, but the argument list is too long
我正在使用 Linux。我有一个包含超过 100,000 个文件的目录树,这些文件源自 MS Windows 系统。有些文件的名称中有空格。我想将这些文件转换为 unix。我运行这个命令
find . -type f | xargs -0 dos2unix
并收到此错误消息
xargs: argument line too long
我该如何解决这个问题?
如果您想将 xargs
与 -0
一起使用以防止文件名中 spaces/special 个字符出现问题,您还必须将 -print0
与 find
一起使用,因此它将用空字节分隔其输出:
find . -type f -print0 | xargs -0 dos2unix
这里不需要xargs,你可以
find . -type f -exec dos2unix '{}' +
我正在使用 Linux。我有一个包含超过 100,000 个文件的目录树,这些文件源自 MS Windows 系统。有些文件的名称中有空格。我想将这些文件转换为 unix。我运行这个命令
find . -type f | xargs -0 dos2unix
并收到此错误消息
xargs: argument line too long
我该如何解决这个问题?
如果您想将 xargs
与 -0
一起使用以防止文件名中 spaces/special 个字符出现问题,您还必须将 -print0
与 find
一起使用,因此它将用空字节分隔其输出:
find . -type f -print0 | xargs -0 dos2unix
这里不需要xargs,你可以
find . -type f -exec dos2unix '{}' +