找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 10984|回复: 5

[已解决]gawk如何打印管道符

[复制链接]
发表于 2018-6-12 13:51:43 | 显示全部楼层 |阅读模式
本帖最后由 shootman2 于 2018-6-12 23:48 编辑

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

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

这样也不行
gawk "{print \"aaa\|bbb\"}"
gawk "{print \"aaa\\|bbb\"}"

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2018-6-12 14:33:27 | 显示全部楼层
  1. gawk "BEGIN{print "aaa^|bbb"}"
复制代码
 楼主| 发表于 2018-6-12 17:05:55 | 显示全部楼层
回复 2# Batcher


    太棒了!成功。。。这一下子解决了我好多问题。。。
    Batcher大神名不虚传!!!
 楼主| 发表于 2018-6-12 17:08:40 | 显示全部楼层
回复 2# Batcher


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

    grep -v "^TOTAL" "f:\123.txt"|gawk -F "," "{a=$1;b=sub(/[[:blank:]]*$/,\"\",a);print b;}"
发表于 2018-6-12 20:30:46 | 显示全部楼层
回复 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).
 楼主| 发表于 2018-6-12 23:48:22 | 显示全部楼层
回复 5# Batcher


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

    再次感谢所有无私提供支持的大神们。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:52 , Processed in 0.019691 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表