我有一个包含3个参数的awk脚本。前两个参数总是用于模式匹配。第三个应该是可选的。如果它没有通过,那么我想按以下方式进行匹配:
awk -v start=$start -v end=$end -v code=$code '
start <= \$1 && \$1 < end {
...
}'如果它被传递,那么我想按以下方式进行匹配:
awk -v start=$start -v end=$end -v code=$code '
start <= \$1 && \$1 < end && code = $code {
...
}'如何用awk模式表示这个条件匹配?
发布于 2018-08-22 08:11:38
您可以将此awk与or条件一起使用:
awk -v start=$start -v end=$end -v code=$code '
start <= $1 && $1 < end && (code == "" || code == "123") {
...
}'(code == "" || code == "123"):只有当条件code == "123"不为空时,才会检查条件。
此外,也不需要使用\$1。
https://stackoverflow.com/questions/51962209
复制相似问题