简介 目录 评价 推荐
  • __LiYun__ 2023-01-01

    printf '%s\t%s\t%s\n' 1 2 3 4 5 6

    0赞 · 0采集
  • __LiYun__ 2023-01-01

    ^[^a-z]  中括号内^代表取反

    0赞 · 0采集
  • __LiYun__ 2023-01-01

    a* 匹配所有

    aa* 

    0赞 · 0采集
  • 慕标1219132 2022-09-26

    添加IP地址与更换IP地址(远程登录是改不了的)

    [root@localhost ~]# vim huan 

    #!/bin/bash

    read -p "Do you want to add or replace IP [add/rep] : " ar

    if [ -n $ar ]

            then

    case $ar in

            "add")

    read -p "please input your IP address: " ip

    read -p "please input your NETMASK : " net

    read -p "please input your GATEWAY : " gat

    read -p "please input your DNS : " dns

    if [ -n $ip -a -n $net -a -n $gat -a -n $dns ]

            then

                    sed "4s/dhcp/static/g" /etc/sysconfig/network-scripts/ifcfg-ens33

                    sed "6s/no/yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33

                    sed "15s/no/yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33

                    echo "IPADDR=$ip" >> /etc/sysconfig/network-scripts/ifcfg-ens33

                    echo "NETMASK=$net" >> /etc/sysconfig/network-scripts/ifcfg-ens33

                    echo "GATEWAY=$gat" >> /etc/sysconfig/network-scripts/ifcfg-ens33

                    echo "DNS1=$dns" >> /etc/sysconfig/network-scripts/ifcfg-ens33

                    systemctl restart network

            fi

            ;;


            "rep")

    t=$( cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "IPADDR" |cut -f 2 -d "=" )

    u=$( cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "NETMASK" |cut -f 2 -d "=" )

    v=$( cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "GATEWAY" |cut -f 2 -d "=" )

    w=$( cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "DNS1" |cut -f 2 -d "=" )

    read -p "please input your IP address: " i

    read -p "please input your NETMASK : " n

    read -p "please input your GATEWAY : " g

    read -p "please input your DNS : " d

    if [ -n $i -a -n $n -a -n $g -a -n $d ]

            then

            sed "4s/dhcp/static/g" /etc/sysconfig/network-scripts/ifcfg-ens33

            sed "6s/no/yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33

            sed "15s/no/yes/g" /etc/sysconfig/network-scripts/ifcfg-ens33

            sed "17s/IPADDR=$t/IPADDR=$i/g" /etc/sysconfig/network-scripts/ifcfg-ens33

            sed "18s/NETMASK=$u/NETMASK=$n/g" /etc/sysconfig/network-scripts/ifcfg-ens33

            sed "19s/GATEWAY=$v/GATEWAY=$g/g" /etc/sysconfig/network-scripts/ifcfg-ens33

            sed "20s/DNS1=$w/GATEWAY=$d/g" /etc/sysconfig/network-scripts/ifcfg-ens33

            systemctl restart network

      fi

            ;;

            *)

            echo "Your input is wrong"

            ;;

    esac

    fi


     chmod 755 huan

    0赞 · 0采集
  • 慕标1219132 2022-09-26

    [root@localhost ~]#  vim userdel.sh

    #!/bin/bash

    read -p "please you input yes or no delete anyuser [y/n] : " yn

    read -p "please you input delete number : " num

    if [ -n $yn ]

    then

    case $yn in

                    "y")

                            touch name

                            cat /etc/passwd | grep "/bin/bash" | grep -v "root" | cut -d ":" -f 1 >> name

                            for i in $( cat name )

                                    do

                                            a=0

                                            for (( a=0;a<=$num;a=a+1 ))

                                                    do

                                                            userdel $i

                                                    done

                                    done

                            rm -rf name


                            ;;

                    "n")

                            echo "[root@localhost ~]# "

                            ;;

                    *)

                            echo "no have it"

                            ;;

    esac

    fi

    [root@localhost ~]# chmod 755 userdel.sh

    0赞 · 0采集
  • 慕标1219132 2022-09-25

    cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" |cut -f 2 -d "=" 

    #提取IP地址、子网掩码、网关、dns


    0赞 · 0采集
  • 慕标1219132 2022-09-25

    cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep "IPADDR" |cut -f 2 -d "="

    #提取IP地址

    0赞 · 0采集
  • 慕标1219132 2022-09-25

    grep “a*” test.txt

    匹配多个a或者0个a的行

    0赞 · 0采集
  • 一别经年 2022-05-04

    #!/bin/bash

    df -h | grep "/dev/vda1" | awk '{printf $5 "\n"}' | cut -f 1 -d "%"


    awk 'END{print "test"}{printf $2 "\n"}' student.txt


    echo "指定分隔符"


    cat /etc/passwd | grep "/bin/bash" | awk 'BEGIN{FS=":"}{printf $1 "\t" $3 "\n"}'


    echo "根据条件筛选"


    cat student.txt | grep -v "Name" | awk '$4>40{print $2}'

    0赞 · 0采集
  • 一别经年 2022-05-04

    awk 语法:


    默认使用tab或者空格分割


    awk 有内置的一些函数可以调用 比如substr

    awk 也可以将正则作为条件,比如

    awk '/in/ {printf $2 "\n"}' student.txt


    0赞 · 0采集
  • 一别经年 2022-05-04

    ID Name gender mark

    1 geek F 89

    2 jin F 70

    3 xin F 45


    #!/bin/bash
    cut -f 2,4 student.txt
    0赞 · 0采集
  • 一别经年 2022-05-04

    cut 用来提取列



    -d 默认分隔符为tab


    0赞 · 0采集
  • 一别经年 2022-05-02

    字符处理命令

    etc/passwd 为当前保存的用户信息

    1. sort 

      不给参数按照行的字母顺序排列,默认分隔符为tab

      -r 取反

      echo "指定分隔符是: 用第三个字段开头 第三个字段结尾排序 就是只用第三个字段排序 使用数字进行排序"

      echo "对每行用冒号分割(-t)后的字段的第三个列用数字(-n)的方式进行排序 "

      sort -n -t ":" -k 3,3 /ect/passwd

    2. wc 是的缩写word count

      -l 只统计行数

      -w 只统计单词数

      -m 只统计字符数

    0赞 · 0采集
  • 一别经年 2022-05-02

    sed 主要用来修改文档数据


    echo "删除第二行"

    sed '2d' student.txt


    echo "删除第二行到第四行"

    sed '2,4d' student.txt


    echo "删除第二行后追加字符串 a为append"

    sed '2a geek v5' student.txt


    echo "删除第二行前插入字符串 i 为insert"

    sed '2i geek v5' student.txt


    echo "替换整行"

    sed '2c geek v5' student.txt


    echo "替换行中的字符串 显示到屏幕 但不会改变文件的内容"

    sed '3s/28/70/g' student.txt


    echo "替换行中的字符串 不显示到屏幕 且会改变文件的内容 -i会改变文件内容"

    sed -i '3s/28/70/g' student.txt


    echo "多个动作同时执行 不加行号 搜索所有文件内容 70 置空 xin替换成hui"

    sed -e 's/70//g;s/xin/hui/g' student.txt

    0赞 · 0采集
  • 一别经年 2022-05-02

    定义:sed 是一种轻量级流编辑器,是Stream EDitor的缩写

    作用:sed 替换字符串内容 对数据进行选取 替换 删除 新增

    格式:sed [选项] '[动作]' 文件名

        选项:-n 一般sed命令会把所有的数据都输出到屏幕,如果加入此选择

    则只会把经过sed命令处理的行输出到屏幕

                 -e 允许对输入数据应用多条sed命令编辑

                  -i 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出


    动作:

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

            c 行替换,用c后面的字符替换原数据行

            i  插入,在当前行前插入一行或多行

            d 删除,删除指定的行

            p 打印,输出指定的行

            s 字符替换,用一个字符串替换另一个字符串。格式为”行范围s/旧字符串/新字符串/g“(和vim中的替换格式类似)

    0赞 · 0采集
  • 一别经年 2022-05-02

    条件 动作

    http://img3.mukewang.com/626f9fe90001d3a211760652.jpg

    0赞 · 0采集
  • 一别经年 2022-05-02

    awk 默认使用空格或者tab键作为分隔符

    使用{FS=":"}指定分隔符

    0赞 · 0采集
  • 一别经年 2022-05-02

    cat stu.txt | printf  这种执行不成功 

    管道运算符返回的是数据流 而printf只认识字符串

    可以用 printf‘%s\t%s\t%s\t%s\t\n’$(cat stu.txt ) 实现对文件内容的打印


    某种意义上 printf是awk的子命令

    0赞 · 0采集
  • 一别经年 2022-05-02

    awk 一行行的读取文件里的内容 文件为$0 第一列(字段)为$1 第二列(字段)为$2

    0赞 · 0采集
  • Ganjr 2021-08-12

    统计命令 wc

    • wc [选项] 文件名

    • 选项

      • -l:只统计行数

      • -w:只统计单词数

      • -m:只统计字符数

    0赞 · 0采集
  • Ganjr 2021-08-12
    sort -t ":" -k 3,3 /etc/passwd 
    # 指定分隔符是“:”,用第三字段开头,第三字段结尾排序,就是只用第三字段排序
    sort -n -t ":" -k 3,3 /etc/passwd
    0赞 · 0采集
  • Ganjr 2021-08-12

    排序命令 sort

    • sort [选项] 文件名

    • 选项

      • -f:忽略大小写

      • -n:以数值型进行排序,默认使用字符型排序

      • -r:反向排序

      • -t:指定分隔符,默认分隔符是制表符

      • -k n[,m]:按照指定的字段范围排序。从第 n 字段开始,m 字段结束(默认到行尾)

    0赞 · 0采集
  • Ganjr 2021-08-12

    字符处理命令

    • sort 命令

    • wc 命令

    0赞 · 0采集
  • Ganjr 2021-08-12

    字符串替换

    sed 's/旧字串/新字串/g' 文件名
    sed '3s/60/99/g' student.txt
    # 在第三行中,把 60 换成 99 
    sed -i '3s/60/99/g' student.txt 
    # sed 操作的数据直接写入文件
    sed -e 's/fengj//g;s/cang//g'student.txt 同时把“fengj”和“cang“替换为空
    0赞 · 0采集
  • Ganjr 2021-08-12
    sed '2c furong bu ji ge' student.txt
    # 数据替换
    0赞 · 0采集
  • Ganjr 2021-08-12
    sed '2a piaoliang jiushi renxing' student.txt 
    # 在第二行后追加 hello

     

    sed '2i meinv' student.txt
    # 在第二行前插入两行数据
    0赞 · 0采集
  • Ganjr 2021-08-12
    sed '2,4d' student.txt
    # 删除第二行到第四行的数据,但不修改文件本身
    0赞 · 0采集
  • Ganjr 2021-08-12

    行数据操作

    sed '2p' student.txt 
    # 查看文件的第二行 
    
    sed -n '2p' student.txt
    0赞 · 0采集
  • Ganjr 2021-08-12

    END

    awk 'END{printf "The End \n"} {printf $2 "\t" $4 "\n"}' student.txt
    0赞 · 0采集
  • Ganjr 2021-08-12

    BEGIN

    awk 'BEGIN{printf "This is a transcript \n"} {printf $2 "\t" $4 "\n"}' student.txt
    0赞 · 0采集
数据加载中...
开始学习 免费