【发布时间】:2016-01-16 14:30:47
【问题描述】:
我正在尝试解析一个制表符分隔的文件,其中最后一列具有可变数量的键值对,以分号分隔。这是一个例子
ab cd ef as=2;sd=5;df=12.3
gh ij kl sd=23;df=55
mn op qr as=24;df=77
我想打印第二列以及与键“sd”关联的值 预期的输出应该是
cd 5
ij 23
我可以在 bash 中执行此操作吗?
这里的问题是键值列有可变的条目数,因此目标键在不同的行中会有不同的位置。
我可以像这样 grep 给定键的值
grep -o 'sd=[^;]*' file.txt
但我不能同时打印其他列的值
【问题讨论】:
标签: bash parsing awk key-value