是否有可能使awk程序在文件上运行,而不会在运行程序时为其指定文件名.
我试图这样做但由于某种原因它不起作用,有人可以解释为什么这不起作用,我如何使其工作
#!/bin/awk -f
BEGIN{
ARGV[1]="books"
}
{
split($0,a,":")
if(a[4]!="-"){
n[a[2]]=n[a[2]]+1
print $0","n[a[2]]
}
}
END{
for(x in n){
print n[x]
}
}
Run Code Online (Sandbox Code Playgroud)
在这个程序中,我试图让它在文件名书上运行,但它仍然无法正常工作
除了添加元素之外ARGV,还需要增加ARGC:
#!/bin/awk -f
BEGIN{
ARGV[1]="books"
++ARGC
}
Run Code Online (Sandbox Code Playgroud)
存储其他元素[in
ARGV]和递增ARGC会导致读取其他文件.