读取第 n 行并拆分为数组

Pat*_*Pat 2 bash sed

尝试从文件中读取第 n 行并根据分隔符拆分为数组

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

上面给出"sed: cannot open [No such file or directory]"

但是当我sed "${HEAD_START}q;d" "/FILE_UPLOADS/Checklist-Relationship (4).txt"在提示符下运行时它工作正常

ste*_*ver 5

read -r -a headers < sed ...正在尝试打开一个名为sed“read”的文件。

sed在 bash 中,要作为命令运行并使其输出在标准输入流上可用,您可以使用进程替换

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