我有一个文件,其中包含一对key=value
对,每个对自己的行。使用shell命令获取指定键的值的最佳方法是什么?Shell命令来匹配键值对
回答
约
grep "key" my_file | cut -d'=' -f2
@mouviciel,错误的评论位置队友? ( - : – 2010-02-25 15:54:52
如果文件中有key = value参数的水平列表,该怎么办? – CMCDragonkai 2014-07-01 01:29:12
Poster说“每一行都在自己的行中”,但是,如果每行有多个,那么这将不起作用 – 2014-07-02 14:09:46
这就是我如何做到这一点的KSH。
FOO=$(grep "^key=" $filename | awk -F"=" '{print $2}')
您也可以使用cut而不是awk。如果用空格分隔密钥对,则可以删除-F“=”。
grep可以awk -F“=”'/^key =/{print $ 2}'' – ghostdog74 2010-02-25 15:32:49
read -r -p "Enter key to fetch: " key
awk -vk="$key" -F"=" '$1~k{ print "value for "k" is "$2} ' file
输出
$ ./shell.sh
Enter key to fetch: key1
value for key1 is value1
,或者你可以使用shell(如bash)的
read -r -p "Enter key to fetch: " key
while IFS="=" read -r k v
do
case "$k" in
*"$key"*) echo "value of key: $k is $v";;
esac
done <"file"
可能甚至不需要正则表达式:awk ...'$ 1 == k {print $ 2}'文件' – 2010-02-26 18:19:27
取决于。如果OP需要完全匹配。否则,正则表达式是合适的.OP可以通过regexp实现SQL“like”等效。 – ghostdog74 2010-02-26 23:46:10
上面的awk命令似乎不适用于Solaris。 – JonnyWizz 2015-11-23 10:06:28
- 1. 将键值匹配的键值对的列表结合起来
- 2. bash命令来匹配n行
- 3. awk命令来匹配多个模式
- 4. mysql命令匹配
- 5. grep命令匹配
- 6. NSDictionary命令不匹配allKeys命令
- 7. Shell命令来提取XML文件的值到shell脚本
- 8. 用键值对(B)中的匹配键的值替换键值对(A)的值?
- 9. 地图键运行shell命令
- 10. 匹配来自数组对象的值
- 11. Prosyst Shell命令
- 12. 在shell命令
- 13. PHP shell命令
- 14. shell命令
- 15. Shell命令$
- 16. Karaf shell命令
- 17. Hbase shell命令
- 18. shell命令
- 19. Linux shell命令对于Runtime.exec()(屏幕命令)来说会表现得很奇怪
- 20. 有没有办法配置neo4j shell来回显命令
- 21. 来自SELECT命令的值是对象
- 22. 目标通配符shell命令
- 23. 使用shell命令的Git配置
- 24. 显示表配置的Hbase shell命令。
- 25. Shell脚本:grep命令为通配符
- 26. 用木偶来管理shell命令
- 27. 使用popen()来调用shell命令?
- 28. shell脚本来自动scp命令
- 29. 等待shell命令来完成
- 30. 来自bash shell的XMLA/SOAP命令
伯恩,C,或bash shell的 – live2dream95 2010-02-25 15:44:09
我结束了与此: grep的“关键“文件名| sed'/ key = //' – live2dream95 2010-02-26 20:47:47