我有一个文件中的文件列表。列表很大,而且文件名是非标准的:这意味着,有些有空格、非 ascii 字符、引号、单引号......
因此,将庞大的文件列表作为参数传递给 grep 不是一种选择:
- 因为我不确定我不会超过 linux 中允许的参数长度。不过,我想我可以通过用 划分参数来解决这个问题
xargs
。 - 因为转义这些字符很复杂。如果我想用双引号将文件名括起来,而该文件名恰好有双引号,我就有麻烦了。所以我需要转义一些字符。整个事情看起来很复杂,我不想走那条路。
必须有一个更简单的方法:我怎样才能告诉 grep 使用我的文件列表作为 grep 的文件?我假设由于 shell 不会处理文件列表,因此转义和参数长度不再是问题。问题是 grep 是否支持这种操作模式,我在文档中一直找不到。