shell 中的读取制表符 (\t) 将文本与文件分开

Reading tab (\t) separated text from file in shell

我的文本文件看起来像这样

1   get a   06-05-2000
2   get b   06-05-2001
3   get c   06-05-2002
4   get d   06-05-1442
5   get e   06-05-1998
6   get f   06-05-1909

我想阅读第一个 \t(选项卡)之后的内容并将其存储在 varA 以及 \t 之后的内容(另一个选项卡)并将其存储在 varB

使用SHELL

在 Bash 中,您可以这样做:

#!/bin/bash
declare -a varA varB
while IFS=$'\t' read -r num first second;do
varA+=("$first")
varB+=("$second")
done <file
echo ${varA[1]} ${varB[1]} 

您可以使用索引 ${varA[$index]} 访问 varA 数组的每个元素,或者使用 ${varA[@]}.

一次访问所有元素