Board logo

标题: [已解决]gawk如何打印管道符 [打印本页]

作者: shootman2    时间: 2018-6-12 13:51     标题: [已解决]gawk如何打印管道符

本帖最后由 shootman2 于 2018-6-12 23:48 编辑

使用gawk打印管道符时总是报错。。。大家帮忙看看!

gawk "{print \"aaa|bbb\"}"

这样也不行
gawk "{print \"aaa\|bbb\"}"
gawk "{print \"aaa\\|bbb\"}"
作者: Batcher    时间: 2018-6-12 14:33

  1. gawk "BEGIN{print \"aaa^|bbb\"}"
复制代码

作者: shootman2    时间: 2018-6-12 17:05

回复 2# Batcher


    太棒了!成功。。。这一下子解决了我好多问题。。。
    Batcher大神名不虚传!!!
作者: shootman2    时间: 2018-6-12 17:08

回复 2# Batcher


    再追问一下,我想查将字符串中的首尾的空格去掉,如下语句哪里有问题,请指教。。。

    grep -v "^TOTAL" "f:\123.txt"|gawk -F "," "{a=$1;b=sub(/[[:blank:]]*$/,\"\",a);print b;}"
作者: Batcher    时间: 2018-6-12 20:30

回复 4# shootman2


grep -v "^TOTAL" "f:\123.txt"|gawk -F "," "{a=$1;sub(/[[:blank:]]*$/,\"\",a);print a;}"

sub命令的返回值不是你希望得到的结果,参考帮助手册:
http://www.gnu.org/software/gawk ... ml#String-Functions

sub(regexp, replacement [, target])

    Search target, which is treated as a string, for the leftmost, longest substring matched by the regular expression regexp. Modify the entire string by replacing the matched text with replacement. The modified string becomes the new value of target. Return the number of substitutions made (zero or one).
作者: shootman2    时间: 2018-6-12 23:48

回复 5# Batcher


    到底是大神,在您的指导下,这个问题已经解决。。。

    再次感谢所有无私提供支持的大神们。。。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2