나는 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
다음과 같이 and를 사용할 수 있습니다 expr
.
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.