使用awk忽略双引号

时间:2018-05-03 06:53:39

标签: linux shell awk

我在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并显示以下消息。

我正在获取以下代码的输出,如下所示。如何忽略双引号并搜索模式。

  

反斜杠不是行上的最后一个字符

1 个答案:

答案 0 :(得分:1)

awk命令中的正则表达式不正确。

您需要在(转发)斜杠\之前添加反斜杠/,因为此字符是正则表达式分隔符:

awk '/Backing up "\/1\/2" on One/{...}'

请注意,您不需要在双引号之前添加反斜杠,因为shell不会解释单引号内的字符串。