大佬教程收集整理的这篇文章主要介绍了awk“if”声明,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
foo -- bar
我只想要分隔符上方的行.我已经在这方面挣扎了太长时间,并尝试了许多变种.我的一个班轮是:
echo -e "foo\n-- \nbar" | gawk -v x=0 -- '/^--\ / { x++ } ; IF (x==0) {print} '
这应该只打印“foo”但我得到整个文件输出.如果我改为打印x我得到
0 1 1
我似乎无法使awk根据x的值有条件地打印一行.我知道我错过了一些简单的事情.
echo -e "foo\n-- \nbar" | awk '/^--/{exit}1'
说明
> / ^ – /是一个正则表达式,匹配当前行开头的字符串
如果条件为真,则执行> {}部分(前一个正则表达式)
> 1与{print}类似:默认情况下,如果条件为真,则在STDOUT上打印awk.虽然1对于awk是正确的,但它会打印当前行.
分解命令:
echo -e "foo\n-- \nbar" | awk ' { if (/^--/) { exit } else { print } } '
替代分解:
echo -e "foo\n-- \nbar" | awk '(/^--/) { exit } { print }'
这强调有两种模式行为规则;一个具有显式模式和退出动作;另一个是隐式模式和打印动作.
以上是大佬教程为你收集整理的awk“if”声明全部内容,希望文章能够帮你解决awk“if”声明所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。