쉼표로 구분된 값, 인덱스 및 난수를 포함하는 inputFile이라는 파일을 생성하는 bash 스크립트를 작성하는 방법

쉼표로 구분된 값, 인덱스 및 난수를 포함하는 inputFile이라는 파일을 생성하는 bash 스크립트를 작성하는 방법

inputFile누군가 다음 내용으로 이름이 지정된 파일을 생성하기 위해 bash 스크립트를 작성하는 방법을 도와줄 수 있습니까 ?

0, 334

1, 933

2, 34123

3, 123

인덱스와 난수로 쉼표로 구분된 값입니다.

-> 매개변수 없이 스크립트를 실행하면 inputFile현재 디렉터리에 해당 항목 10개가 포함된 파일이 생성됩니다.

-> 이 스크립트를 확장하여 원하는 수의 항목(예: 100000개 항목)을 생성할 수 있어야 합니다.

아래 스크립트를 시도했지만 예상대로 작동하지 않습니다. 이 문제를 해결하도록 도와줄 수 있는 사람이 있습니까?

RANDOM=$$
num=0

while [[ ${num} -le $1 ]]
do
    echo $num $RANDOM
    (( num = num +1 ))
done

답변1

당신은 우리에게서 멀지 않습니다.

count첫 번째 명령줄 인수( ) 와 같은 변수를 설정한 $1다음 비어 있는지 확인한 다음 10으로 설정할 수 있습니다.

#!/usr/bin/env bash
RANDOM=$$
count="$1"
[[ -z "$count" ]] && count=10

num=0
while [[ ${num} -le ${count} ]]
do
    echo $num, $RANDOM
    (( num = num +1 ))
done > inputFile

기술적으로 이것은 0으로 시작하고 10으로 끝나기 때문에 10이 아닌 11개의 난수를 제공합니다. 이를 변경하려면 num1부터 시작(1-10 가져오기)하거나 -lt그 다음을 사용 -le(0-9 가져오기)할 수 있습니다.

출력에서 숫자 사이에 쉼표를 추가하려면 echo 명령에 쉼표를 추가하세요.

10 이외의 숫자를 사용하여 더 많은 난수를 얻을 수 있습니다. bash script.sh 10000.

그런데 inputFile출력 파일 이름이 이상하네요.

관련 정보