我有以下的代码,让我输出文件中的行和字数。 如何使用一个更FS可以用来计数总字符(文件分离器)。? (输出应该是相同wc file command
)
BEGIN {
FS="\n| ";
}
{
for(i=1;i<=NF;i++)
w++
l++
}
END {
print "Total no of Lines:"l;
print "Total no of words:"w;
}
我有以下的代码,让我输出文件中的行和字数。 如何使用一个更FS可以用来计数总字符(文件分离器)。? (输出应该是相同wc file command
)
BEGIN {
FS="\n| ";
}
{
for(i=1;i<=NF;i++)
w++
l++
}
END {
print "Total no of Lines:"l;
print "Total no of words:"w;
}
您可以使用内置的变量“$ 0”和功能“长度”
BEGIN {
FS="\n| ";
}
{
for(i=1;i<=NF;i++)
w++
l++
c += length($0)+1
}
END {
print "Total no of Lines:"l;
print "Total no of words:"w;
print "Total no of chars:"c;
}
编辑:添加+1长度占换行符
请注意,以该字段分隔脚本将依靠太多的“话”,因为字段这里考虑的话,每个空间成为一个字段分隔符。
此外, awk
只能给适当的文本文件,其中相同的最大线路长度的限制的遵守和最后几行以换行符结束的正确的结果..
该脚本可以简化进一步有点
{
w+=NF
c+=length+1
}
END {
print "Total no of lines:" NR
print "Total no of words:" w
print "Total no of chars:" c
}