从特定的行和列读取值

时间:2018-11-12 23:11:15

标签: linux bash shell centos sh

我有以下格式的csv文件:

1 value1
2 value2
3 value3

我也可以这样定义它(如果更方便的话)

column1,column2
1,value1
2,value2
3,value3

我应该编写一个shell脚本以匹配第一列中的值,并从第二列中的那一行获取值。 例如,我有变量var 如果var等于1,则使用并使用(或打印)value1。 如果值为2,则取值为2,依此类推。 行数限制为5。 这可能吗? 谢谢

1 个答案:

答案 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