我在bash脚本中有以下行:
find . -name "paramsFile.*" | xargs -n131072 cat > parameters.txt
我需要确保在使用此命令时,文件连接的顺序不会改变。例如,如果我在同一组paramsFile。*上运行此命令两次,则两次参数.txt应该相同。我的问题是,是这样的吗?如果不是,我怎么能确定它是什么?
谢谢!
编辑:同样的问题适用于xargs:会改变文件被送到cat的方式吗?
Edit2:正如William Pursell所指出的,这个问题实际上是关于查找的。 find总是以相同的顺序返回文件吗?
答案 0 :(得分:1)
来自man cat
的说明:
cat实用程序按顺序读取文件,将它们写入标准 输出。 文件操作数按命令行顺序处理。 如果file是单个破折号(“ - ”)或缺席,则cat从标准输入读取。如果file是UNIX域套接字,则cat连接到它 和 然后读取它直到EOF。这补充了inetd(8)中提供的UNIX域绑定功能。
所以,只要你每次都没问题就按照相同的顺序将文件传递给cat
。