zoukankan      html  css  js  c++  java
  • 三剑客应用sed

    1、复制/etc/rc.d/rc.local 文件至/tmp目录,将/tmp/rc.sysinit文件中的
    以至少一个空白字符开头的行的行首加#。
    sed -n '/[[:space:]]/ s/^/#/p' rc.local
    sed -n '/[[:space:]]+/ s/^/#/p' rc.local
    2、复制/boot/grub2/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符。
    [[:space:]]:空格的意思
    sed -n 's/^[[:space:]]+//pg' rc.local
    sed -n '/^[^ ]/p' rc.local
    3、删除/tmp/rc.local t文件中的以#开头,且后面跟了至少一个空白字符的行的#和空白字符。
    sed -inr 's/^#[[:space:]]+//pg' rc.local
    sed -i 's/^#[[:space:]]+//g'
    sed -rn '/^#[[:space:]]+/p' rc.local
    4、为/tmp/grub.conf文件中前三行的行首加#号。
    sed -i '1,3 s/^/#/'
    5、将/etc/yum.repos.d/CentOS-Media.repo(随便找一个)文件中所有的enabled=0或gpgcheck=0的
    最后的0修改为1
    sed -nr '/enable/ s/(enabled=).*/11/gp' /etc/yum.repos
    sed -i '/enable/ s/0/1/g'
    6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202。
    (* */4 * * *  cp /etc /backup etc-$(date -d "-1 days" + %F))
    (date+%F)
    7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402。
    (* * * * 2,4,6 mv /var/log/messages /backup/messages_logs/messages-$(date -d "-1 days" + %F))
    8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中。
    (* */2 * * * grep "^S" /proc/meminfo > /stats/memory.txt)
    9、工作日的工作时间内,每两小时执行一次echo“howdy”。
    * */2 * * 1-5 echo "howdy"
    10、创建目录/tmp./testdir-当前日期时间
    mkdir /tmp./testdir-$(date +%F)
    12、显示/etc/passwd文件中位于第偶数行的用户的用户名。
    sed -n '2~2p' /etc/passwd
    1、查找/var目录下属主为root,且属组为mail的所有文件
    find /var -user root -o -user mail
    find /var/ -user root -a -group mail -ls
    2、查找/var目录下不属于root、lp、gdm的所有文件
    find /var -not -user root -not -user lp -not -user gdm
    find /var/ -not  ( -user root -o -user ip -o -user gdm  )
    3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件
    find /var -mtime 7 -not -user root
    find /var -mtime -7 -not -user root -ls
    4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件
    find -atime 7 -nouser -a -nogroup .....
    find /var/ -atime -7 -a -nouser -o -nogroup
    5、etc查找/etc目录下大于1M且类型为普通文件的所有文件
    find /etc -size +1M -a -type f
    6、查找/etc目录下所有用户都没有写权限的文件
    find /etc -perm 755
    find /etc/ -not  ( -perm /222 ) -ls
    7、查找/etc目录下至少有一类用户没有执行权限的文件
    find /etc -perm 644
    find /etc/ -not  ( -perm -111 ) -ls
    8、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件
    find /etc/init.d 772
    find /etc/init.d/ -perm /111 -a -perm /222 -ls=============
    9、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符
    sed -n '/^[^ ]/p'
    10、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
    sed -n 's/[[:space:]+]//pg' /etc/fstab
    11、在centos6系统/root/install.log每一行行首增加#号
    sed -n 's/^/#/' /root/install.log
    12、在/etc/fstab文件中不以#开头的行的行首增加#号
    grep -v  "^#" | sed -n 's/^/#/' /etc/fdisk
    sed -r '/^[^#]/ s/^/#/g'
    13、处理/etc/fstab路径,使用sed命令取出其目录名和基名
     echo "/etc/fstab" | sed -r 's#.*/(.*)#1#g'
    echo "/dev/mapper/centos-swap" | sed -r 's#(.*/){2}.*#1#g'
    14、利用sed 取出ifconfig命令中本机的IPv4地址
    ifconfig | sed -n '/broadcast/p' |sed 's/^.*inet//g' | sed 's/netmask.*$//'
    15、统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数
    awk -F'.'  '/rpm/{print $1}' | sort | uniq -c
    sed -r '#.*.(.*).rpm#1#g' |sort|uniq -c
    16、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)
    cat /etc/init.d/functions |sed -r ‘s/[^[:alpha:]]+/ /g’|sed ‘/^$/d’ |sort|uniq -c
    cat /etc/init.d/functions |grep -o “[[:alpha:]]{2,}”|sort|uniq -c
    17、将文本文件的n和n+1行合并为一行,n为奇数行
    sed -n 'N;s/ //p' /etc/passwd
  • 相关阅读:
    每日一道 LeetCode (30): 买卖股票的最佳时机
    每日一道 LeetCode (29):杨辉三角 II
    每日一道 LeetCode (28):杨辉三角
    每日一道 LeetCode (27):二叉树的最小深度
    分布式协调服务之Zookeeper集群部署
    JupyterLab 交互式笔记本的安装使用
    YOLOv4: Darknet 如何于 Ubuntu 编译,及使用 Python 接口
    YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集
    pybind11: C++ 工程如何提供 Python 接口
    Mysql锁
  • 原文地址:https://www.cnblogs.com/123456likun/p/11470905.html
Copyright © 2011-2022 走看看