【问题标题】:How to read tab-delimited fields into an array [duplicate]如何将制表符分隔的字段读入数组[重复]
【发布时间】:2021-05-18 08:08:38
【问题描述】:

我有包含以下内容的文件 HOMO.txt:

   1506      -4.6242      2.00000

我正在使用以下命令:

$ mapfile -t myArray < HOMO.txt
$ echo ${myArray[0]} 
1506 -4.6242 2.00000
$ echo ${myArray[1]}

最后一个命令返回一个空行。我想要的是,将中间值分配给一个变量。任何人都可以提出解决方案。

【问题讨论】:

  • mapfile -td' ' array &lt; file.txt; echo "${array[1]}"
  • 是的,因为它只是一行read 可以处理它,至少在带有-a 标志的bash 中。

标签: arrays linux bash


【解决方案1】:

默认情况下,mapfile 使用换行符作为元素分隔符。您可以使用-d 选项将其更改为空格" ",如下所示。

mapfile -t -d " " myArray < HOMO.txt
echo ${myArray[0]}
echo ${myArray[1]}

# Output
1506
-4.6242

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-22
    • 2012-04-01
    • 2013-11-28
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2021-08-22
    相关资源
    最近更新 更多