?wildcard?를 사용하여 bash를 사용하여 파일에서 배열을 만듭니다. [복사]

?wildcard?를 사용하여 bash를 사용하여 파일에서 배열을 만듭니다. [복사]

배열을 사용하여 특정 패턴과 일치하는 디렉터리의 파일을 반복해야 합니다. 예를 들어:

./dirx/file1b_t1.tif
./dirx/file2b_z_t2_tif
./dirx/file3b_t3.tif
./dirx/file4b_x_t4.tif

위의 첫 번째 파일과 세 번째 파일을 나열하는 배열을 만들려고 합니다. "ls"가 배열을 작성하는 적절한 방법이 아니라는 것을 알고 있지만 "find"를 시도했는데 "?"와 함께 작동하지 않습니다. 기본적으로 복제하려고합니다.

ls ./dirx/*b_??.tif

그러나 목록을 배열로 파이프하십시오.

답변1

glob 표현식의 확장을 직접 저장하세요.

array=(./dirx/*b_??.tif)

그런데 일반적으로 중복됩니다. 동일한 파일에 대한 유효한 경로를 ./사용하고 얻을 수 있습니다 .array=(dirx/*b_??.tif)

[이전 질문과 중복된 것 같지만 적합한 일치 항목을 찾을 수 없습니다. 그밖에 누가? ]

관련 정보