我输出“没有”,我需要用“0”替换它。例如,我的文件有duse
,如下所示:
duse 1
和awk
打印1
:
surange < survey.su | grep duse | awk '{ print $2 }'
因为没有delrt
,代码没有给出该变量的结果:
surange < survey.su | grep delrt | awk '{ print $2 }'
因为delrt
不存在。
只是添加将输出重定向到文件:
surange < survey.su | grep delrt | awk '{ print $2 }' > value
使用empty
后,说file
:
$ file value
value: empty
有什么想法吗?感谢任何指针,
答案 0 :(得分:1)
grep
没有输出任何内容,因此awk
表达式永远不会运行。可以在END
块中添加手动检查。
surange < survey.su | grep delrt | awk '{print$2}END{if(NR==0)print 0}'
if(NR==0)
部分检查是否没有读取记录(空文件),并做出相应的响应。
或者,整个事情可以在awk
中完成,如果找到匹配则设置一个标记。
surange < survey.su | awk '/delrt/{print$2;f=1}END{if(!f)print 0}'