1. 查找/etc目录下大于1M且类型为普通文件的所有文件
    find /etc -size +1M -type f|xargs ls -lh
  2. 打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/localsrc目录备份。
    ! [ -d "/usr/localsrc" ] && mkdir /usr/localsrc;tar -cvJf /usr/localsrc/`date +%F`.tar.xz `find /etc/ -name "*.conf"`
  3. 利用sed 取出ifconfig命令中本机的IPv4地址
    ifconfig ens33|sed -nr '/netmask/s@(.*inet[[:space:]]+)([0-9.]+)([[:space:]]+.*)@\2@p'
  4. 删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
    sed -nr 's/(^#[[:space:]]+)(.*)/\2/p' /etc/fstab
    sed -ri.bak 's/(^#[[:space:]]+)(.*)/\2/' /etc/fstab
  5. 处理/etc/fstab路径,使用sed命令取出其目录名和基名
    echo /etc/fstab/|sed -nr 's@(^/.*/)([^/].*[^/])(/?$)@\1@p'
    echo /etc/fstab/|sed -nr 's@(^/.*/)([^/].*[^/])(/?$)@\2@p'
  6. 在centos6系统/root/install.log每一行行首增加#号
    sed -ri.abk 's@.*@#&@' /root/install.log
  7. 统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数
    find "/run/media/root/CentOS 7 x86_64/Packages" -name "*.rpm"|sed -nr 's#^.*\.(.*)\.rpm$#\1#p'|sort|uniq -c|sort -nr
  8. 统计/etc/init.d/functions文件中每个单词出现的次数,并排序(用grep和sed两种方法分别实现)
    sed -r 's/[^[:alpha:]]/ /g' /etc/init.d/functions|tr -s ' ' '\n'|sort|uniq -c|sort -nr|sed -nr '/[[:alpha:]]+/p'
    cat /etc/init.d/functions|tr -sc '[:alpha:]' "\n"|sort|uniq -c|sort -nr|sed -nr '/[[:alpha:]]+/p'
    grep -Eo '[[:alpha:]]+' /etc/init.d/functions|sort|uniq -c|sort -nr
  9. 将文本文件的n和n+1行合并为一行,n为奇数行
    sed -nr 'N;s@\n@@p' /path/file