我有以下格式的csv文件:
1 value1
2 value2
3 value3
我也可以这样定义它(如果更方便的话)
column1,column2
1,value1
2,value2
3,value3
我应该编写一个shell脚本以匹配第一列中的值,并从第二列中的那一行获取值。
例如,我有变量var
如果var等于1
,则使用并使用(或打印)value1
。
如果值为2,则取值为2,依此类推。
行数限制为5。
这可能吗?
谢谢
答案 0 :(得分:1)
Awk是您的朋友在这里
$ cat input.txt
1 value1
2 value2
3 value3
$ awk -v key=1 '$1 == key { print $2 }' input.txt
value1
$ awk -v key=2 '$1 == key { print $2 }' input.txt
value2
等只需将key=1
替换为key=$var
。