zoukankan      html  css  js  c++  java
  • [Shell]利用sed修改文件 获取指定字符串所在行号,删除行,写入行

    测试文件test.txt 内容如下:

    wangju@wangju-HP-348-G4:~/Desktop$ cat test.txt
    line 1
    line 2
    line 3
    line 4

    获取行

    方式1:使用grep命令:grep -n "<指定字符串>" 文件名称 | cut -d ":" -f 1

    wangju@wangju-HP-348-G4:~/Desktop$ grep -n "line 2" test.txt |cut -d ":" -f 1
    2

    方式2:使用sed,sed -n -e "/<指定字符串>/=" 文件名称

    wangju@wangju-HP-348-G4:~/Desktop$ sed -n -e "/line 2/=" test.txt
    2

    删除行

    sed -i "<行号> d" 文件名称,-i表示保存删除操作

    wangju@wangju-HP-348-G4:~/Desktop$ sed  -i  "2  d"   test.txt
    wangju@wangju-HP-348-G4:~/Desktop$ cat test.txt
    line 1
    line 3
    line 4

    写入行

    追加:a 在当前行后添加一行或多行 

    wangju@wangju-HP-348-G4:~/Desktop$ sed -i "2 a new line 2" test.txt
    wangju@wangju-HP-348-G4:~/Desktop$ cat test.txt
    line 1
    line 3
     new line 2
    line 4

    插入:i 在当前行之前插入文本 

    wangju@wangju-HP-348-G4:~/Desktop$ sed -i "2 i new line insert" test.txt
    wangju@wangju-HP-348-G4:~/Desktop$ cat test.txt
    line 1
     new line insert
    line 3
     new line 2
    line 4

    参考文档:

    Shell_sed

  • 相关阅读:
    实验 7 综合练习一
    实验或作业模版: 实验 6-1 最大公约数 最小公倍数
    实验 6 数组1
    Pro
    作业 4 函数应用
    老大
    双端队列
    zxa and leaf
    Baby Ming and Matrix games
    The more, The Better
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/12124498.html
Copyright © 2011-2022 走看看