Я знаю, что я могу использовать команду seq для генерации последовательности чисел, например:
seq 100 999
… и я знаю, что могу создать файл с добавлением:
seq 100 999 > file.txt
… но что, если бы я хотел выполнить вычисление на каждом номере, прежде чем записывать его в файл?
Я хочу в основном создать файл чисел, который содержит результаты:
seq 100 999 x(times) date +%s > file.txt
Я знаю, что это не способ сделать это, но я интересуюсь, как это можно сделать.
В конечном счете, создаваемые числа будут серийными номерами, которые никогда нельзя дублировать. Результирующие числа фактически должны быть добавлены в базу данных MySQL (а не файл file.txt), и мне нужно будет добавлять больше номеров в указанную базу данных MySQL ежечасно / ежедневно.
Любая помощь / предложения будут оценены.
Является ли Perl ок? Для каждого номера в диапазоне 100-999 он умножает это число на perl function time()
на него (что совпадает с date +%s
).
perl -E 'for(100..999){say $_ * time();}' > file.txt 1438382172768 1439826331576 1441270490384 1442714649192 etc.
вы можете использовать seq, xargs
и expr
как:
seq 100 999|xargs -n1 expr $(date +%s) \*
-n1
указывает xargs
выполнить expr
с одним элементом последовательности за раз. Выражение $(date ...)
будет оцениваться только один раз.