awk部分字符串比较

时间:2013-07-31 09:40:21

标签: awk filesystems compare

我尝试使用bash或awk提取字符串的某些部分。

我想我可以使用read或awk来解决这个问题。

我的input_file如下所示

cat ./input_file

in_size=1
# out_size=2

所以,

out_size=$(awk '{if($2=="out_size=2"){ blabla ; print output}' ./input_file)

我不知道如何解决这个问题。

并且,如何使用空格和制表符设置多个字段分隔符FS。

有像

这样的例子
FS='[/=]'

如何使用4 FS / =“”“\ t”??

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用包含任何水平空白字符的POSIX样式字符类[:blank:]

awk -F '=|[[:blank:]]+' '{
    for (i=1; i<NF; i++) {
        if ($i == "out_size") {
            print $(i+1)
            exit
        }
    }
}' filename

除非你知道它总是第二个字:

awk -F '=|[[:blank:]]+' '$2 == "out_size" {print $3; exit}' filename