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개의 난수를 제공합니다. 이를 변경하려면 num
1부터 시작(1-10 가져오기)하거나 -lt
그 다음을 사용 -le
(0-9 가져오기)할 수 있습니다.
출력에서 숫자 사이에 쉼표를 추가하려면 echo 명령에 쉼표를 추가하세요.
10 이외의 숫자를 사용하여 더 많은 난수를 얻을 수 있습니다. bash script.sh 10000
.
그런데 inputFile
출력 파일 이름이 이상하네요.