"BEGIN blocks must have an action part" awk 脚本错误
"BEGIN blocks must have an action part" error in awk script
这是我的代码:
#!/bin/sh
filename=$(/usr/bin/find -name "INSTANCE-*.log")
echo "filename is " $filename
awk '
BEGIN
{
print "Processing file: " filename
}
{
if([=11=] ~ /Starting/)
{
print "The bill import has been Started on " " "
}
}' $filename > report.txt
当我执行它时,出现以下错误:
BEGIN blocks must have an action part
我的 BEGIN
块有一个 print
语句,所以它有一个动作部分。我在这里错过了什么?
发生这种情况是因为您的左大括号在下一行。
所以你需要做的就是这样写BEGIN { ...
:
BEGIN {
print "Processing file: " filename
}
另请注意,主块可以重写为:
/Starting/ {print "The bill import has been Started on " " " }
也就是说,if ()
和 [=14=]
是隐含的,因此可以跳过。
这是我的代码:
#!/bin/sh
filename=$(/usr/bin/find -name "INSTANCE-*.log")
echo "filename is " $filename
awk '
BEGIN
{
print "Processing file: " filename
}
{
if([=11=] ~ /Starting/)
{
print "The bill import has been Started on " " "
}
}' $filename > report.txt
当我执行它时,出现以下错误:
BEGIN blocks must have an action part
我的 BEGIN
块有一个 print
语句,所以它有一个动作部分。我在这里错过了什么?
发生这种情况是因为您的左大括号在下一行。
所以你需要做的就是这样写BEGIN { ...
:
BEGIN {
print "Processing file: " filename
}
另请注意,主块可以重写为:
/Starting/ {print "The bill import has been Started on " " " }
也就是说,if ()
和 [=14=]
是隐含的,因此可以跳过。