2

我在 bash 脚本中有以下行:

find . -name "paramsFile.*" | xargs -n131072 cat > parameters.txt

当我使用这个命令时,我需要确保文件连接的顺序不会改变。例如,如果我在同一组 paramsFile.* 上运行此命令两次,则 parameters.txt 两次都应该相同。我的问题是,是这样吗?如果不是,我如何确定它是?

谢谢!

编辑:xargs 也有同样的问题:这会改变文件输入 cat 的方式吗?

Edit2:正如 William Pursell 指出的,这个问题实际上是关于 find 的。find 是否总是以相同的顺序返回文件?

4

1 回答 1

1

从描述中man cat

cat 实用程序按顺序读取文件,并将它们写入标准输出。 文件操作数按命令行顺序处理。 如果 file 是单个破折号 (`-') 或不存在,则 cat 从标准输入读取。如果 file 是 UNIX 域套接字,则 cat 连接到它,然后读取它直到 EOF。这补充了 inetd(8) 中可用的 UNIX 域绑定功能。

所以是的,只要你cat每次都以相同的顺序传递文件就可以了。

于 2013-07-26T21:54:57.947 回答