ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

三剑客应用sed

2019-09-06 09:02:45  阅读:165  来源: 互联网

标签:文件 etc sed user 应用 var root 三剑客


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:]]+/\n/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/\n//p' /etc/passwd

标签:文件,etc,sed,user,应用,var,root,三剑客
来源: https://www.cnblogs.com/123456likun/p/11470905.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有