zoukankan      html  css  js  c++  java
  • AIX系统下sed的用法与实例——查询/打印/替换字符串并生成文件/删除

    首先,使用sed命令请记住:sed命令以行为单位对文本进行处理,处理完当前行,接着下一行文本输入进行处理,依次循环。

    其次,使用sed命令请记住:sed命令不会对原文件进行操作,它是对原文件的拷贝文件进行操作。

    打印指定行

    1)打印首行

    sed -n ‘1p’  test.txt

    ##如果想把结果输出到文件,则这样:sed -n ‘1p’  test.txt  > result.txt,以下同理。

    2)打印最后一行

    sed -n ‘$p’  test.txt        #$代表最后一行

    3)打印第一行到第五行

    sed -n ‘1,5p’  test.txt

    打印满足条件的筛选行

    1)打印存在“hello”这个单词的行

    sed -n ‘/hello/p’ test.txt

    2)打印满足正则表达式:出现以ing结尾单词的行

    sed -n ‘/.*ing/p’  test.txt

    替换字符串并重新生成文件

    1)将文本中存在的单词“hello”替换成“world”

    sed  ‘s/hello/world/g’ test.txt

    ##注意,aix系统中sed命令不支持-i参数,直接使用上面的命令就可以进行替换,如果要输出生成新文件,则sed  ‘s/hello/world/g’ test.txt  > newfile.txt就可以了。
    如果不想用sed命令,其他命令也是可以实现的,比如:perl  -p -i -e  “s/hello/world/g”  test.txt,同样也可以实现字符串的替换,不过perl命令会直接修改原文件,请谨记。
    2)如果要批量替换路径下所有文件

    sed “s/查找字段/替换字段/g” `grep 查找字段 -rl 路径`

    例如:替换/home下所有文件中的字符串“hello”为“world”

    sed  “s/hello/world/g”  `grep hello -rl /home`

    注意,此命令会直接修改原文件。

  • 相关阅读:
    Mvc+三层(批量添加、删除、修改)
    js中判断复选款是否选中
    EF的优缺点
    Git tricks: Unstaging files
    Using Git Submodules
    English Learning
    wix xslt for adding node
    The breakpoint will not currently be hit. No symbols have been loaded for this document."
    Use XSLT in wix
    mfc110ud.dll not found
  • 原文地址:https://www.cnblogs.com/slqt/p/10033397.html
Copyright © 2011-2022 走看看