1

我尝试使用 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" ?

提前致谢。

4

1 回答 1

2

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

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
于 2013-07-31T10:54:27.377 回答