업데이트가 완료되면 여러 정수 배열을 txt 파일에 저장한 다음 해당 배열을 txt 파일에서 사용 중인 스크립트로 로드할 수 있기를 원합니다.
기본적으로 이러한 배열에는 특정 통계가 포함되며 이를 로드하고 저장하여 스크립트를 실행할 때마다 통계를 업데이트할 수 있기를 원합니다.
Bash에서 이 작업을 수행할 수 있는 방법이 있나요?
편집: 아래 답변의 경우 배열을 파일에 어떻게 쓰시겠습니까?
답변1
한 줄에 하나씩 두 개의 정수 배열을 포함하는 파일이 있다고 가정합니다.
$ cat file
1 20 300
1 2 3 5
이러한 배열은 다음과 같이 읽을 수 있습니다.
{ read -a a1; read -a a2; } <file
다음을 사용하여 올바르게 읽고 있는지 확인할 수 있습니다 declare -p
.
$ declare -p a1
declare -a a1='([0]="1" [1]="20" [2]="300")'
$ declare -p a2
declare -a a2='([0]="1" [1]="2" [2]="3" [3]="5")'
배열을 파일에 저장
파일에 저장하는 한 가지 방법은 다음과 같습니다.
$ { echo "${a1[*]}"; echo "${a2[*]}"; } >newfile
생성된 파일은 다음과 같습니다.
$ cat newfile
1 20 300
1 2 3 5
답변2
다음을 사용하여 파일에 배열을 쓸 수 있습니다.
printf "%s\n" "${a1[*]}" "${a2[*]}" > file
이것은 John1024의 답변과 호환됩니다. 행당 하나의 배열을 배치합니다.