【发布时间】:2016-04-26 16:36:14
【问题描述】:
我有一个包含以下内容的 file1.txt:
time="2016-04-25T17:43:11Z" level=info msg="SHA1 Fingerprint=9F:AD:D4:FD:22:24:20:A2:1E:0C:7F:D0:19:C5:80:42:66:56:AC:6F"
我希望文件如下所示:
9F:AD:D4:FD:22:24:20:A2:1E:0C:7F:D0:19:C5:80:42:66:56:AC:6F
实际上,我需要将命令作为字符串传递。这就是为什么 bash 命令需要用双引号封装在一个字符串中的原因。但是,当我包含
" grep -Po '(?<=Fingerprint=)[^"]*' "
我没有得到想要的输出。看来我需要正确转义双引号。
【问题讨论】:
-
...顺便说一句,bash 和 POSIX sh 在某些非常相关的方面有所不同(Bourne shell 差异更大,但在 Red Hat 发布的任何产品中都不存在,因此您的标记将其排除在外) .我在答案中包含了一个仅限 bash 的部分,但如果您只标记两者之一,那么这是否可以接受会更清楚。
标签: linux bash shell sh redhat