我的文件内容如下:
仅当文件路径包含 Microsoft 或 Windows\Temp 时,我才希望打印文件路径和 SHA1。所以使用下面的命令:
awk -F\' '($2 ~ (Microsoft || Windows\\Temp) {print $2, $4}' file
但是看起来 awk 不喜欢“\”
awk:源代码第 1 行出现语法错误 上下文是 $2 ~ (微软 || >>> Windows\ <<< \Temp) {print $2, $4} awk: bailing out at source line 1
请帮忙
\\
or
条件需要
您可以为每个条件指定 ~
匹配运算符这就是让它工作的样子:
awk -F\' '($2 ~ /Microsoft/ || $2 ~ /Windows\\Temp/) {print $2, $4}' file
或者只是:
awk -F\' '($2 ~ /Microsoft|Windows\\Temp/) {print $2, $4}' file
因为 or 条件也可以嵌入到正则表达式中..需要将其括在
/
中