我有一個文件,其中包含一對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