n번째 행을 읽고 배열로 분할

n번째 행을 읽고 배열로 분할

파일에서 n번째 줄을 읽고 구분 기호를 기준으로 배열로 분할해 봅니다.

HEAD_START=4
IFS='|' read -r -a headers < sed "${HEAD_START}q;d" "/FILE_UPLOADS/Checklist-Relationship (4).txt"

위에 주어진"sed: cannot open [No such file or directory]"

하지만 sed "${HEAD_START}q;d" "/FILE_UPLOADS/Checklist-Relationship (4).txt"프롬프트에서 실행하면 잘 작동합니다.

답변1

read -r -a headers < sed ..."읽기"라는 파일 을 열려고 합니다 sed.

Bash에서 sed명령으로 실행하고 표준 입력 스트림에서 출력을 사용할 수 있도록 하려면 다음을 사용할 수 있습니다.프로세스 교체:

IFS='|' read -r -a headers < <(sed "${HEAD_START}q;d" "/FILE_UPLOADS/Checklist-Relationship (4).txt")

답변2

파일이 너무 크지 않으면 sed를 건너뜁니다.

mapfile -t lines < filename
IFS='|' read -ra headers <<< "${lines[HEAD_START - 1]}"

관련 정보