예 : GREP을하는유닉스 스크립트에서 배열 변수의 값을 할당하는 방법
$cat macro
File abc.txt
File xyz.csv
File bdc.txt
File lkm.csv
File cde.txt
얻을 수있는 유일한 * .txt 파일 이름
$grep -oh "\w*xml\w*" macro
abc.txt
bdc.txt
cde.txt
이제 그 grep 결과를 배열에 가져와야합니다. 아래의 주어진 코드가 제대로 작동하지 않습니다. . 내가 배열로 즉 별도의 변수에 모든 단일 변수에 그렙 결과를 저장할 수 있습니다
$cat txt.sh
var=$(grep -oh "\w*xml\w*" macro)
echo ${var[0]} #echo var ---both displays same result.
출력
abc.txt bdc.txt cde.txt
하지만 난 값을 배열을 원하는 다음과 같이 지정됩니다.
>var[0]=abc.txt
>var[1]=bdc.txt
>var[2]=cde.txt
참고 : xml 파일 개수는 다를 수 있습니다. 그래서 그것은 동적이어야합니다. 나는 그것에 대해서도 연구 중이다 .. 미리 감사드립니다.
불행하게도 배열 일부가 제공하는 비표준 확장입니다 : 배열 읽은 후
은 당신이 원하는 무엇에 따라, $ IFS의 이전 값을 저장하고 복원하는 것이 좋습니다 수 있습니다 쉘을 사용하려면 어느 요소를 사용하는지 지정해야합니다 (적어도 첫 번째 요소의 인덱스가 1인지 0인지는 알기 위해). – loreb