【发布时间】:2019-04-15 17:18:46
【问题描述】:
我有这种格式的 csv 文件:
1 value1
2 value2
3 value3
我也可以这样定义(如果更方便的话)
column1,column2
1,value1
2,value2
3,value3
我应该编写一个 shell 脚本来匹配第一列的值并从第二列的值中获取该行的值。
例如,我有变量var
如果 var 等于 1,则获取并使用(或打印)value1。
如果值为 2,则取 value2,依此类推。
行数限制为 5。
这可能吗?
谢谢
【问题讨论】:
-
使用 grep 并像这样剪切:
var=1 ; grep "^${var}" yourfile.txt | cut -d',' -f2 -
嗨红。这是出于什么目的使用“^1”?如何匹配将在脚本中读取的我的变量?谢谢
-
^表示匹配行首。所以^1表示以 1 开头的匹配行 -
嗨红。但是如果我的 value2 例如是这样的“1.1.1”怎么办。这是否意味着如果我用值“1”对它进行 grep,它会在第一行(因为第一行第一列值)以及第二行(因为它类似于第二行第二列值)对我进行 grep?谢谢
-
试试看。
标签: linux bash shell centos sh