"리눅스 여러 줄 출력을 배열에 담기"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 14개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
;Store multi-line output into an array in a Linux bash script
;Store multi-line output into an array in a Linux bash script
;Bash 여러 줄 출력을 배열에 담기
;Bash 여러 줄 출력을 배열에 담기
;리눅스 여러 줄 출력을 배열에 담기
;리눅스 여러 줄 출력을 배열에 담기
<syntaxhighlight lang='bash'>
IFS=$'\n' 배열변수명=(`명령어`)
</syntaxhighlight>


==실습==
<syntaxhighlight lang='console'>
[root@zetawiki ~]# df
Filesystem          1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      27678892  18857720  7392488  72% /
/dev/xvda1              101086    36768    59099  39% /boot
tmpfs                  524288        0    524288  0% /dev/shm
</syntaxhighlight>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# IFS=$'\n' ARR=(`df`)
[root@zetawiki ~]# for VALUE in "${ARR[@]}"; do echo "<---- $VALUE ---->"; done
<---- Filesystem          1K-blocks      Used Available Use% Mounted on ---->
<---- /dev/mapper/VolGroup00-LogVol00 ---->
<----                      27678892  18857720  7392488  72% / ---->
<---- /dev/xvda1              101086    36768    59099  39% /boot ---->
<---- tmpfs                  524288        0    524288  0% /dev/shm ---->
</syntaxhighlight>
<syntaxhighlight lang='console'>
[root@zetawiki ~]# echo ${ARR[0]}
Filesystem          1K-blocks      Used Available Use% Mounted on
[root@zetawiki ~]# echo ${ARR[1]}
/dev/mapper/VolGroup00-LogVol00
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[Bash에서 MySQL 사용]]
* [[Bash 실행결과를 변수에 담기]]
* [[Bash에서 MySQL 사용]]
* [[리눅스 여러 줄 출력을 한줄로 만들기]]


==참고 자료==
==참고==
*http://ubuntuforums.org/showthread.php?t=1555275
*http://ubuntuforums.org/showthread.php?t=1555275
*http://www.linuxquestions.org/questions/linux-general-1/store-multi-line-output-into-an-array-in-a-linux-bash-script-706878/
*http://www.linuxquestions.org/questions/linux-general-1/store-multi-line-output-into-an-array-in-a-linux-bash-script-706878/
*http://stackoverflow.com/questions/16831429/when-setting-ifs-to-split-on-newlines-why-is-it-necessary-to-include-a-backspac


[[분류: bash]]
[[분류: bash]]
[[분류: IFS]]
[[분류:리눅스 멀티라인]]

2020년 12월 21일 (월) 11:51 기준 최신판

1 개요[ | ]

Store multi-line output into an array in a Linux bash script
Bash 여러 줄 출력을 배열에 담기
리눅스 여러 줄 출력을 배열에 담기
IFS=$'\n' 배열변수명=(`명령어`)

2 실습[ | ]

[root@zetawiki ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      27678892  18857720   7392488  72% /
/dev/xvda1              101086     36768     59099  39% /boot
tmpfs                   524288         0    524288   0% /dev/shm
[root@zetawiki ~]# IFS=$'\n' ARR=(`df`)
[root@zetawiki ~]# for VALUE in "${ARR[@]}"; do echo "<---- $VALUE ---->"; done
<---- Filesystem           1K-blocks      Used Available Use% Mounted on ---->
<---- /dev/mapper/VolGroup00-LogVol00 ---->
<----                       27678892  18857720   7392488  72% / ---->
<---- /dev/xvda1              101086     36768     59099  39% /boot ---->
<---- tmpfs                   524288         0    524288   0% /dev/shm ---->
[root@zetawiki ~]# echo ${ARR[0]}
Filesystem           1K-blocks      Used Available Use% Mounted on
[root@zetawiki ~]# echo ${ARR[1]}
/dev/mapper/VolGroup00-LogVol00

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}