我知道我可以使用 seq 命令来生成数字序列,例如:
seq 100 999
...我知道我可以创建一个文件并添加以下内容:
seq 100 999 > file.txt
...但是如果我想在将每个数字写入文件之前对其进行计算怎么办?
我基本上想创建一个数字文件,其中包含以下结果:
seq 100 999 x(times) date +%s > file.txt
我知道这不是这样做的方法,但我很好奇如何做到这一点。
最终,创建的数字将是序列号,永远不会重复。生成的数字实际上需要添加到 MySQL 数据库(不是 file.txt 文件),并且我需要每小时/每天向所述 MySQL 数据库添加更多数字。
任何帮助/建议将不胜感激。
答案1
您可以使用seq, xargs
andexpr
作为:
seq 100 999|xargs -n1 expr $(date +%s) \*
该-n1
选项指示一次xargs
执行序列中的一个元素。expr
该$(date ...)
表达式只会被计算一次。
答案2
佩尔还好吗?对于 100-999 范围内的每个数字,它都会将该数字与 perl 函数相乘time()
(与执行操作相同date +%s
)。
perl -E 'for(100..999){say $_ * time();}' > file.txt
1438382172768
1439826331576
1441270490384
1442714649192
etc.