我有这个简单的awk脚本,尝试通过它检查第一行中的字符数。 如果第一行少于10个字符,我想存储数量 的角色转化为变种。 第一个print语句以某种方式起作用,但是将结果存储到var中却没有。 请帮忙。 我尝试删除美元符号“ thelength =(length($ 0))” 并删除括号“ thelength = length($ 0)”,但不会打印任何内容...
谢谢!
#!/bin/ksh
awk ' BEGIN {FS=";"}
{
if (NR==1)
if(length($0)!=10)
{
print(length($0))
thelength=$(length($0))
print "The length of the first line is: ",$thelength;
exit 1;
}
}
END { print "STOP" }' $1
答案 0 :(得分:1)
涉及混合int nr = 42;
std::cout << nr;
//or
char charNr = 42;
std::cout << static_cast<int>(charNr);
和ksh
脚本的两个问题...
awk
内进行子shell调用即可获取长度;使用awk
thelength=length($0)
变量在被引用时不需要前导awk
;使用$
因此您的代码变为:
print ... ,thelength