我在 awk
中有以下代码
awk -F"[.: ]" '/Backing up \"/1/2\" on One/ {start = mktime($3" "$2" "$1" "$4" "$5" "$6); hms = sprintf("%s:%s:%s,", $4, $5, $6);} / Backup completed/ {end = mktime($3" "$2" "$1" "$4" "$5" "$6); if (end) {print hms end - start; start = ""; }}' logs.txt
我想搜索模式 Backing up "/1/2"on One
并显示以下消息。
我得到以下代码的输出如下。如何忽略双引号并搜索模式。
backslash not last character on line
最佳答案
awk
命令中的正则表达式不正确。
您需要在(正向)斜杠 /
之前添加一个反斜杠 \
因为这个字符是正则表达式分隔符:
awk '/Backing up "\/1\/2" on One/{...}'
请注意,您不需要在双引号前添加反斜杠,因为 shell 不会解释单引号内的字符串。
关于linux - 使用 awk 忽略双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50148661/