三剑客:
    sed:
    sed 选项 内置命令 输入文件
    选项:
    -n 取消默认sed输出,常与内置命令p连用
    -i直接修改文件,不输出到终端
    -e允许多次编辑
    -r支持扩展正则表达式
    内置命令:
    p 打印
    sed -n ‘4p’ test.sh 取出第四行
    sed -n ‘/test/p’ test.sh 取出含有test的行
    d 删除
    sed ‘2,4d’ test.sh 删除第2-4行
    sed ‘/test/d’ test.sh 删除含有test的行
    vimdiff 查看两个文件差异
    diff 没有vimdiff清晰
    sed -i.bak ‘/test/d’ test.sh 备份并删除文件中含有test的行
    替换:
    s替换
    g全局
    将文件中的test替换成admin
    sed ‘s#test#admin#g’ test.sh # 理论上可以用任何东西替代

    a 追加
    在文本第二行后面增加一行并追加内容:
    sed -i ‘2a hello world’ test.sh
    在第二行插入 原来第二行移动到第三行
    sed -i ‘2i hello world’ test.sh

    练习:
    取文件中5-15行重定向到test.txt
    sed -n ‘5,15p’ /etc/passwd > /test.txt

    远程连接ssh工具 需要一定配置修改: /etc/ssh/sshd_config
    port 52113
    PormitRootLogin no 禁止root远程登陆
    GSSAPIAuthentication no 解决连接慢
    UseDNS no 解决连接慢
    image.png

    awk:
    awk 参数 ‘条件{动作}’ 文件
    核心作用:取列 附加作用 查 删
    参数:
    -F 指定分隔符
    变量名:
    $n 当前记录的第n个列 字段间由FS 或 -F 指定分隔符
    第一列用$1
    整行用$0
    最后一列 $NF NF本身记录的是列的个数
    NR记录行
    最后第二列 $(NF-1)
    awk ‘{print $1}’ test.txt 打印
    awk -F “:” ‘{print $1}’ test.txt
    awk ‘{print NR==2} ‘ test.txt 打印第二行
    image.png
    image.png