日常——sed练习

0H5162261-0

1、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符
# sed -i.bak ‘s/^[[:space:]]*//’ /data/grub2.cfg
2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
# sed -i.bak ‘s@^#[[:space:]]\+@@’ /data/fstab
3、在centos6系统/root/install.log每一行行首增加#号
# sed -i.bak ‘s,^,#,’ install.log
4、在/etc/fstab文件中不以#开头的行的行首增加#号
# sed -i.bak ‘/^#/!s/^/#/’ /data/fstab
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
# echo “/etc/fstab/” |sed -r ‘s@(.*/)([^/]+/?)@\2@’
6、利用sed 取出ifconfig命令中本机的IPv4地址
# ifconfig eth0 |sed -n ‘2p’ |sed -r ‘s,.*addr:(.*) Bcast.*,\1,’
7、统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数
# ls -1 |sed -r ‘s#.*\.(.*)\.rpm$#\1#’ |sort |uniq -c |sort -nr
8、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)
1.# grep -ow “[[:alpha:]]*” /etc/init.d/functions |sort |uniq -c |sort -n
2.# sed ‘s/[[:punct:]]/\ /g’ /etc/init.d/functions |sed ‘s/[[:space:]]/\n/g’ |sed ‘/^[^[:alpha:]]/d’ |sort |uniq -c |sort -n
9、将文本文件的n和n+1行合并为一行,n为奇数行
1.# sed ‘N;s,\n,,g’ /data/f1

2.[root@centos6 ~]# sed -n ‘1~2p’ /data/make.sh > f1
[root@centos6 ~]# sed -n ‘2~2p’ /data/make.sh > f2
[root@centos6 ~]# paste f1 f2

 

各位大佬,帮忙批改^_^

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95811

(3)
lidongfeilidongfei
上一篇 2018-04-13 09:38
下一篇 2018-04-13 14:34

相关推荐

  • shell 编程基础

    命令错误 后面的命令继续执行 语法错误 后面的命令不执行 bash -n 检查语法错位 bash -x 查看脚本的执行过程 【排错】 ++文件属性上的 显示是嵌套命令 变量 引用变量要加$符号 echo 是显示字符串的 如果命令能识别变量 可以不加$ 识别不了就压加$ 变量尽量用“ ”引起来 保留里面的格式 name =`whoami` echo &#822…

    Linux笔记 2018-04-15
  • 软件包管理 rpm yum的使用

    软件包管理 链接主要作用是吧各个模块之间互相引用的部分处理好, 使得各个模块之间能够正确的链接,分为静态和动态 静态链接  以.a为后缀  把程序对应的依赖库复制到包           升级难 需重新编译  占用空间多 迁移容易 动态链接  以.so为后缀 把依赖加做动态链接    占用空间少  升级方便           若一个库被删,那么所有依赖此库…

    Linux笔记 2018-04-22
  • linux系统修复报错的方法 .

    如果/etc/fstab文件和boot目录下的文件丢失怎么办
    centos6启动流程

    2018-05-13
  • 迁移/home目录到新的分区上步骤

    迁移/home目录到新的分区上步骤 1、 安装一个新的硬盘 2、 查看新硬盘的设备名,如下图所示: 3、 在新硬盘上创建一个主分区,如下图所示: 4、 将新创建的分区格式化为ext4文件系统,并加上/home卷标,如下图所示: 5、 创建/home目录临时挂载点,并将分区挂载到临时挂载点上,如下图所示: 6、 切换单用户,将除了root用户之外的用户踢出,如…

    2018-04-27
  • 课堂笔记

    cat— 文本文件 1.cat/etc/centos/—release看到发行版名称 lsb—releas—a                    看到发行版名称 (centors  7上如果看不到发行版名称,并不是没有,而是没有安装对映的软件,生产环境中都是最小化安装,默认安装是最小文件) 2.sz/etc/centos—release传到w…

    Linux笔记 2018-07-24
  • 变量的理解

    有点绕多动动手就好了

    Linux笔记 2018-04-15