sed的使用和脚本练习

1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#

cp /etc/rc.d/rc.sysinit /tmp
sed -i 's/\(^[[:space:]]\)/#\1/g' /tmp/rc.sysinit

2、复制/boot/grub/grub.conf/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符。

cp /boot/grub/grub.conf /tmp
sed -i 's/^[[:space:]]\+//g' /tmp/grub.conf


3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行的#和空白字符。

sed -i 's@^#[[:space:]]\+@@g' /tmp/rc.sysinit

4、为/tmp/grub.conf文件中前三行的行首加#号。

sed -i '1,3s@\(^.\)@#\1@g' /tmp/grub.conf

5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0gpgcheck=0的最后的0修改为1

sed -i 's/enabled=0/enabled=1/g;s/gpgcheck=0/gpgcheck=1/g' /etc/yum.repos.d/CentOS-Media.repo

6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202。

crontab -e
crontab -e 0*/4*** /etc /backup/etc-$(date +%Y%m%d%H%M)

7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402。

crontab -e
*00**2,4,6 cp -rf /var/log/messages /backup/message-$(date +%Y%m%d)


8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中。

crontab -e
1*/2**1,2,3,4,5 grep "^S" /proc/meminfo >> /stats/memry.txt

9、工作日的工作时间内,每两小时执行一次echohowdy”。

crontab -e
1*/2**1,2,3,4,5 echo "howdy"

10、创建目录/tmp./testdir-当前日期时间

vim test1.sh
#!/bin/bash
#
mkdir /tmp/testdir-$(date +%Y%m%d)

11、在此目录创建100个空文件:file1-file100

vim test2.sh
#!/bin/bash
#
for i in {1..100};do
touch /tmp/testdir-201609071346/file$i
done


12、显示/etc/passwd文件中位于第偶数行的用户的用户名。

vim test3.sh
#!/bin/bash
#
sed -n 'n;p' /etc/passwd | cut -d: -f1

原创文章,作者:N27_huiyezhicheng,如若转载,请注明出处:http://www.178linux.com/84022

(1)
N27_huiyezhichengN27_huiyezhicheng
上一篇 2017-08-06 20:02
下一篇 2017-08-06 22:13

相关推荐

  • 重定向和管道

    1.Linux给程序提供三种I/O设备 标准输入-0    默认接受来自键盘的输入 标准输出-1    默认输出到终端窗口 标准错误-2    默认输出到终端窗口 在dev下有个fd设备,打开的文件都有一个fd:file dexcriptor 文件描述符 I/O重定向:…

    2017-07-20
  • 管道、重定向和用户管理练习

    前面一章学习了硬链接和软链接,回顾上一章节内容:    硬链接:在inode表中记录一个条目,所有的元数据和原始文件元数据相同。        ·相当于两个名字。        ·删除原始文件,另一个条目也能够…

    Linux干货 2016-08-04
  • 详解Linux下用户和组的配置文件

    本文将介绍Linux下用户和组的概念及相关配置文件,通过本文,能更好的认识/etc/pssswd ,/etc/group,以及UID、GID的概念,最后将通过修改用户配置文件来实现用户和组的管理工作,对Linux的多任务、多用户有一个更清楚的认识。 一、用户(USER) 在LInux上用户的管理工作是通过修改相关的配置文件来实现的,在日常的工作中主要包含对用…

    Linux干货 2016-10-23
  • Linux grep与正则表达式浅析

    #Linux grep与正则表达式浅析 ##grep   grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 ###grep语法    &n…

    Linux干货 2017-04-06
  • Linux终端的类型

    Linux终端可以分为如下几种类型    1、物理终端:是指通过键盘显示器直接连接到主机的方式,我们也称之为console端。    2、虚拟终端:是利用软件的方式模拟实现类似物理终端的访问方式,通常Linux内核开启6个虚拟终端,分别使用Ctrl+Alt+F1~F6实现不同tty虚拟终端之间的切换,供多用户或者多任务…

    Linux干货 2016-10-29
  • Centos下实现多网卡绑定

    实现多网卡绑定在Centos6和Centos7可采用bonding方式,Centos7上team网络组也可实现,并且功能更强大。 Linux bonding 模块提供一种将多个网卡聚合成一块逻辑捆绑网卡的实现方法。 捆绑的网卡拥有多种模式,根据模式的特性,可实现网络负载均衡,网络冗余切换,提高网络吞吐量等功能。 大多流行Linux发行版都已装载bonding…

    Linux干货 2016-09-13

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-20 18:58

    sed作为文本编辑三大神器之一,用好了能让人眼前一亮,再接再励。