我想获取文件的子字符串以获取centos中mysql的默认密码。 这是我用来获取密码的命令:
sudo grep 'temporary password' /var/log/mysqld.log
结果是:
2018-02-21T07:03:11.681201Z 1 [Note] A temporary password is generated for root@localhost: >KkHAt=#z6OV
现在,我使用此命令仅获取密码并删除不必要的内容,因此我可以在脚本中使用它:
sudo grep 'temporary password' /var/log/mysqld.log | cut -d ':' -f 4 | cut -d ' ' -f 2
但使用2次切割似乎非常难看。是否有其他可以使用的命令或工具,或者更优雅的方法来执行此操作?
答案 0 :(得分:3)
使用awk:
$ awk '/temporary password/{print $NF}' file
>KkHAt=#z6OV
答案 1 :(得分:0)
请记住awk
根据字段分隔符(默认为空格)分割字段中的行,NF
表示字段数,可以打印最后一个字段:
$ grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'