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`

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

  • 相关阅读:
    我是5型
    现在的我,有两个状态。我要去找第三个
    什么是BNF范式,什么又是EBNF范式?
    又是好久不写日志
    语料库资源汇总
    原生js与css3结合的电风扇
    JavaScript基础2
    JavaScript基础1
    JavaScript基础4
    JavaScript基础3
  • 原文地址:https://www.cnblogs.com/slqt/p/10033397.html
Copyright © 2011-2022 走看看