关于文本处理

  1. http://bbs.chinaunix.net/forum.p ... &fromuid=467748
  2. =================================================
    关于文本处理
    ed vi sed awk都是常用的文本处理工具,如果你还不了解它们是什么,最好读一下下面两篇关于sed与awk的教程,这两篇是最基础的,但非常经典(请使用big5编码阅读,关于乱码的问题已经超出了讨论时限,那应该是十年前讨论的问题)
    http://phi.sinica.edu.tw/tyuan/o ... c/reports/96/96005/ BIG5编码
    http://phi.sinica.edu.tw/tyuan/o ... c/reports/94/94011/ BIG5编码

    grep也是常用的文本处理工具,它用来查找文本中你想要或不想要的东西,它的基本用法在

    http://bbs.chinaunix.net/viewthread.php?tid=446683

    文本处理中还有一门基本功是正则表达式,基础教程是
    http://phi.sinica.edu.tw/aspac/reports/94/94019/
    这篇教程请用big5码浏览
    论坛中还有不错的讨论
    http://bbs.chinaunix.net/forum/v ... hlight=%D5%FD%D4%F2

    Q1:我使用了sed/awk,但文件没有改变
    A:是的,这是正常的,sed/awk的结果缺省情况下是送到标准输出的,而不是改变原文件,你可以将结果重定向到一个临时文件,然后用mv覆盖原文件,关于重定向请参考
    http://bbs.chinaunix.net/viewthr ... p;page=7#pid1636825
    http://bbs.chinaunix.net/viewthr ... 5%26filter%3Ddigest
    对于GNU sed 3以上版本的用户,可以用-i参数直接修改原文件

    Q2:如何合并/对比两个文件,如何根据file1中的条件处理其它文件?
    A:paste/comm/diff是解决这种问题的好工具
    http://bbs.chinaunix.net/viewthr ... 1%26filter%3Ddigest
    http://bbs.chinaunix.net/viewthr ... 1%26filter%3Ddigest
    这里还有一个处理这种问题强大工具:awk,可以用一句话形容:只有想不到的,没有办不到的
    http://bbs.chinaunix.net/viewthr ... 1%26filter%3Ddigest

    Q3:为什么我使用回帖中的awk命令报错?
    A:有两个可能最大:1.不够细心,仔细再对比一下与回帖有没有出入
    2.因为你没使用Great GNU awk,如果没有gawk可用,可以尝试一下有没有nawk

    Q4:如何在sed/awk中使用shell中的变量?反之呢?
    A:1.关于awk使用shell变量的总结http://bbs.chinaunix.net/viewthr ... &extra=page%3D1
    2.利用shell作变量替换(具体原理看13问之qouting)
    1. var=abcd
    2. sed:sed -n "/$var/p"   // awk: awk '/'"$var"'/'
    3. num=2
    4. sed: sed -n "${n}p"   //awk: awk 'NR=='"$var"''
    5. #sed要用双引号,awk变量顺序单双$var双单
    复制代码
    反之:sed/awk将变量传给shell可以用eval, 如
    1. eval $(awk 'BEGIN{print "a=ggg b=3"}')
    2. 然后
    3. echo $a;echo $b
    4. 测试一下
    复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值