谁能帮我这个:
我正在尝试通过匹配字符串来提取时间戳。为此,我使用 grep/awk 命令的组合。由于刺痛在 [1] 之前和之后有 4 个 spces,我很困惑如何解决它。我是编程新手,所以在这里需要一些帮助。
IS="$(grep 'Starting [1] TaskInit' process.log | awk '{print $4}')"
echo "$IS"
目标:它应该与 process.log 文件中的字符串匹配,并且应该打印出与该行相关的时间戳。
谁能帮我这个:
我正在尝试通过匹配字符串来提取时间戳。为此,我使用 grep/awk 命令的组合。由于刺痛在 [1] 之前和之后有 4 个 spces,我很困惑如何解决它。我是编程新手,所以在这里需要一些帮助。
IS="$(grep 'Starting [1] TaskInit' process.log | awk '{print $4}')"
echo "$IS"
目标:它应该与 process.log 文件中的字符串匹配,并且应该打印出与该行相关的时间戳。
空格不是这里的问题,它应该可以正常工作。
但是括号
[
需要在正则表达式中转义。所以写:在您的情况下,由于您想匹配固定字符串而不是正则表达式,因此您应该
grep -F
改用。然后你不需要逃避:您只需要转义方括号,因为它们具有特殊含义:
此外,我将仅用
awk
于此任务,为此您需要以下内容: