Linux 使用awk忽略双引号
我在Linux 使用awk忽略双引号,linux,shell,awk,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 = ""; }}'
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
我想在一个上搜索模式备份“/1/2”,并显示以下消息
我得到以下代码的输出,如下所示。如何忽略双引号并搜索模式
反斜杠不是行中的最后一个字符
awk
命令中的正则表达式不正确
您需要在(正)斜杠/
之前添加反斜杠\
,因为此字符是正则表达式分隔符:
awk '/Backing up "\/1\/2" on One/{...}'
注意,您不需要在双引号前添加反斜杠,因为shell不会解释单引号内的字符串