awk 打印到文件

awk 打印到文件

我有一个很大的 c 文件,它提供了很多我现在不关心的输出。我编写这个 awk 脚本主要是为了完成我想做的事情。不知道如何对其进行最后的修饰。我还希望它在适当的条件为真时写入文件。这可以用 awk 实现吗?或者我需要使用不同的程序吗?

./a.out 50 5 4 | 
awk '{
if ($1 =="success")
    {
    print "success";
    print $3;
    //write to success file
    }
if ($1 =="failure")
    {
    print "failure";
    print $3;
    //write to failure file
    }
if ($4 =="page")
    print "page";
    //write to page file
}'

答案1

可以缩短为

awk '$1 == "success" || $1 == "failure" { print ; print > $1 ".txt" }
     $4 == "page" { print ; print > $4 ".txt" ;} '

如果您不需要,可以删除打印语句。

答案2

有朝这个方向的东西吗?

awk '
/^success / { print $0 > "success.txt" }
/^failure / { print $0 > "failure.txt" }
'

相关内容