【发布时间】:2021-06-03 10:19:20
【问题描述】:
应分析一个 txt 文件:它有很多行,每行有 20 个由 TAB 分隔的字段,每个字段可以包含任何类型的数据(整数、浮点数、日期时间、文本也包含空白和“”等),并且在除此之外,字段可以为空,例如这样一行的开头就像
111TABTABWalterTAB11.1234TABThis is a sample TextTAB"Another sample"TABTABTAB555...
如何将文件的每一行读入具有 20 列的数组 arrLine,例如
- arrLine(0)=111
- arrLine(1)=空
- arrLine(2)=沃尔特
- ...
我试过this proposal喜欢
while IFS=$'\t' read -r -a arrLine; do
echo "${#arrLine[@]} items: ${arrLine[@]}"
echo "${arrLine[3]} || ${arrLine[4]} || ${arrLine[5]}"
done < "test.txt"
但空列没有填充到数组中。
谢谢!
【问题讨论】:
-
添加了我的实际代码(来自 StackOverflow),但它不考虑空单元格