루프에 대해 bash 명령줄에서 증분 변수를 사용합니까?

루프에 대해 bash 명령줄에서 증분 변수를 사용합니까?

저는 루프용 bash 명령줄을 사용하여 파일 세트를 함께 연결하고 증분 숫자를 추가하고 싶습니다.

이 같은:

j=1;for i in *.bak; do echo {$j++: >> files.grp;cat $i >> files.grp; echo }, >> files.grp; done

따라서 출력은 다음과 같습니다.

{1:"file1 contents"},{2:"file2 contents"},

답변1

당신이 해야 할 일은:

j=$(($j+1))

또는 사용

$((j++))

답변2

# file1.bak
hallo

# some other file.bak
H?llo*

# a!file.bak
new!
line"

스크립트로 처리:

j=1
for i in *.bak; do
  echo "{$((j++)):$(cat "$i")}" >> files.grp
done

files.grp에 다음 내용을 작성합니다.

{1:hallo}
{2:H?llo*}
{3:new!
line"}

관련 정보