我在文件中有以下行
lines="188"
lines="24"
lines="25"
我在引号(“”)中提取值,并使用以下命令将值相加得到237
awk -F'\"' '{count+=$2;}END{if(count>0) print count;else print 0}'
但是,我想将输出重定向到文本文件。我尝试使用重定向操作(>)运算符,但它一直给我错误
这是我到目前为止所拥有的
awk -F'\"' '{count+=$2;}END{if(count>0) print count;else print 0}' > "sum.txt"
这就是错误
fatal: cannot open file '>' for reading (No such file or directory)
答案 0 :(得分:2)
已修改 - 似乎在awk和cmd之间的行中处理引号存在问题。要将引号用作分隔符,请将其更改为
awk -F \x22 "{count+=$2}END{print count+0}" "input.txt" > "output.txt"
答案 1 :(得分:1)
您未能在命令中提及输入文件名的路径。你的命令应该是,
awk -F'"' '{count+=$2;}END{if(count>0) print count;else print 0}' inputfile > "sum.txt"
而且你也不需要在单引号内转义FS值"
。
答案 2 :(得分:0)
你可以缩短一些:
awk -F\" '{count+=$2}END{print count+0}' file > sum.txt
添加0
,您的测试与测试相同,如果0
为空,也会打印count
答案 3 :(得分:0)
缺少输入文件。
awk -F'\"' '{count+=$2;}END{if(count>0) print count;else print 0}' inputfile > "sum.txt"
输出文件的报价不是问题。