如何用Shell或Perl单行命令将制表符分隔值存入两个变量
读取制表符分隔文件并拆分字段到变量
可以用Shell脚本的while read循环实现,以下是两种常用方法:
方法一:利用默认字段分隔符
Bash默认的字段分隔符(IFS)包含制表符,直接读取即可拆分字段:
while read -r a b; do # 在这里添加对$a和$b的操作,比如: echo "第一个字段:$a" echo "第二个字段:$b" done < 你的文件名.txt
-r选项用于避免反斜杠被当作转义字符,建议始终添加。
方法二:明确指定制表符为分隔符
如果担心默认IFS中的空格干扰(比如字段内包含空格),可以显式设置IFS为制表符:
while IFS=$'\t' read -r a b; do # 执行你的操作 echo "a的值:$a" echo "b的值:$b" done < 你的文件名.txt
注意:如果某行存在超过两个字段,上述写法中$b会包含第二个字段及之后的所有内容;如果需要严格只提取前两个字段,可结合数组处理,但针对你描述的文件格式,上述方法足够满足需求。
内容的提问来源于stack exchange,提问作者floydian_slip
相关产品推荐
相关产品推荐

