bash - 如何从 txt 文件中查找字符串并将其存储在 BASH 中的变量中
问题描述
要求是从 txt 文件中找到一个字符串并将其存储到变量中。
文件看起来像这样(rsa.txt)
Encrypting String
... Input string : Test_123
... Encrypted string : $ENC(JEVOQyhZbVpkQmM0L3ArT2c4M05TZks5TmxRPT1+KQ==)
所需输出(变量名:encstring):
encstring = $ENC(JEVOQyhZbVpkQmM0L3ArT2c4M05TZks5TmxRPT1+KQ==)
我尝试了下面的代码,但没有显示结果
encstring=$(grep -oE '$ENC[^()]*==)' <<< rsa.txt)
解决方案
有awk
,请您尝试关注。简单地说,搜索字符串/Encrypted string
和一个条件,以检查该行的最后一个字段是否包含$ENC
在其中,然后使用$NF
.
encstring=$(awk '/Encrypted string/ && $NF~/\$ENC/{print $NF}'
推荐阅读
- sql - 如何查询给定日期范围内更新/注册的成员列表
- iis - IIS 重写提供程序 - 安装依赖项的位置
- terraform - Terraform - 从资源的元数据属性创建输出
- jestjs - 在 jest.mock 中需要常量
- angular - 角度材质 - DateRangePicker - 禁用/启用
- markdown - Sphinx Recommonmark CommonMarkParser 未检测到 URL 链接
- python - Django - 无法在页面上显示值
- python - 将geojson文件加载到django数据库中
- r - knitr 更改摘要输出颜色
- docker-compose - Spring cloud gateway 在使用 docker-compose 运行时给出 500 错误 finishConnect(..) failed: Connection refused: localhost/127.0.0.1:8083