使用awk获取数组中参数的值(Use awk to get value of the parameter in the array)
journalctl -b向我展示了这样的日志:
something something somethng aaa: 0x00000111 bbb: 0x00000222 ccc: 0x00000333 ddd: 0x00000444 something something somethng如何获得参数'ccc'的值?
例如:
journalctl -b | awk '/ccc:/{print $1}'显示第一个字,但我需要在'ccc'之后得到第一个字:
0x00000333journalctl -b showed me log like this:
something something somethng aaa: 0x00000111 bbb: 0x00000222 ccc: 0x00000333 ddd: 0x00000444 something something somethngHow to get value of parameter 'ccc'?
For example:
journalctl -b | awk '/ccc:/{print $1}'showed first word, but I need to get first word after 'ccc':
0x00000333最满意答案
使用sed :
$ echo "aaa: 0x00000111 bbb: 0x00000222 ccc: 0x00000333 ddd: 0x00000444"|sed 's/.*ccc: \([^ ]*\).*/\1/g' 0x00000333如果你真的想使用awk :
$ echo "aaa: 0x00000111 bbb: 0x00000222 ccc: 0x00000333 ddd: 0x00000444"|awk '/ccc:/{s=$0; gsub(".*ccc: ", "", s); gsub(" .*$", "", s); print s}' 0x00000333Using sed:
$ echo "aaa: 0x00000111 bbb: 0x00000222 ccc: 0x00000333 ddd: 0x00000444"|sed 's/.*ccc: \([^ ]*\).*/\1/g' 0x00000333If you really want to use awk:
$ echo "aaa: 0x00000111 bbb: 0x00000222 ccc: 0x00000333 ddd: 0x00000444"|awk '/ccc:/{s=$0; gsub(".*ccc: ", "", s); gsub(" .*$", "", s); print s}' 0x00000333更多推荐
发布评论