我有一个很大的 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" }
'