awk格式打印具有特定列的行

时间:2015-07-22 19:14:54

标签: string awk format

我想只打印具有特定字符串的行" fgfgfg"在专栏中 3 第4列第2列以fg开头 我使用了以下命令,但是它还打印的行没有fg作为第2列中的起始字符?

 awk '{if (($3 == "fgfgfg" || $4 == "fgfgfg") && $2 ~ /fg/) print $0}' file_name

必须条件是第2列必须以' fg'开头。我还想添加一个条件,第2列以fg开头,后跟5位数? 请帮忙!!

2 个答案:

答案 0 :(得分:1)

要确保第2列以fg开头,您需要使用:

$2 ~ /^fg/

注意^。它是锚点的开头。如果省略它,正则表达式将匹配字符串中任何位置的fg

顺便说一句,你可以简化命令:

awk '(($3 == "fgfgfg") || ($4 == "fgfgfg")) && $2 ~ /^fg/' file

答案 1 :(得分:1)

print_r(parse_url('boutique/index.php?Products&Featured'));

Array
(
    [path] => boutique/index.php
    [query] => Products&Featured
)