BASH 문제: 변수 2개를 추가하여 200001.txt, 200002.txt 등과 유사한 파일을 생성합니다.

BASH 문제: 변수 2개를 추가하여 200001.txt, 200002.txt 등과 유사한 파일을 생성합니다.

생성 연도의 첫 번째 부분을 얻었지만 월을 얻고 이를 증가시키면 당황스럽습니다.

#!/bin/bash
varRan=$(( $RANDOM ))
newdir="testing_"$varRan
#echo  $newdir

mkdir $newdir
cd ~/$newdir
for   ((i = 2000; i<= 2022 ; i++; )); do
        for  ((m = 1; m<= 12 ; m++; )) do
        touch $i$m".txt"
done
#       touch $i$m".txt"
done

답변1

앞에 0을 붙인 셸 확장을 사용하면 필요에 따라 적합할 수 있습니다.

#/bin/bash

newdir="testing_$RANDOM"

mkdir "${newdir}"; cd "${newdir}"

for y in {2000..2022}; do
    for m in {01..12}; do
        touch "prefix_$y$m.txt"
    done
done

답변2

사용자 정의 형식을 사용하여 date셸에서 날짜를 생성 할 수 있습니다.

$ date +%Y-%m-%d -d "2002-03-28 +1 days" 
2002-03-29

$ date +%Y-%m-%d -d "2002-03-28 +1 months"
2002-04-28

$ date +%Y-%m-%d -d "2002-03-28 +1 years" 
2003-03-28

관련 정보