【发布时间】:2017-02-28 18:07:16
【问题描述】:
我有一个文件,里面有这样的文本:
471_068 0
AALIAN 1
ASHLEY-U 95
CATRIONA_W 97
STESSY K 08
此数据与项目“名称”相关,它是“颜色 ID”
我需要将名称与 ID 分开并将它们存放在单独的变量中。
请注意,使用 10 以下数字时的 ID 可以有前导 0 或没有,所以我需要在它们出现时解析它们(04 需要保持 04,1 需要保持 1 不4 或 01)
名称中可以包含下划线 (_)、连字符 (-) 或空格 (),这些也需要保留。
这是我用于读取文件的内容,它在循环中逐行读取文件,这很棒,但我不知道如何正确分离我想要的变量。
while read fLine
do
PRDT=$(echo $fLine | tr '\t' '\n')
echo First Var is ${PRDT[0]} - Second Var is ${PRDT[1]}
done < Products
【问题讨论】:
-
名称和颜色是由制表符分隔的,还是只是多个空格?您是否考虑过使用 awk?
-
我想我忘了提到,是的,我想要的两个变量由 TAB 分隔,它们来自 TSV 文件。
标签: linux bash shell variables