SED实用21例

Sed作业:
1,删除文件每行的第一个字符。
sed ‘s/.//‘ install.log
sed -n ‘s/^.//gp‘
/etc/passwd
sed -nr ‘s/(.)(.*)/\2/p‘ /etc/passwd2,删除文件每行的第二个字符。
sed ‘s/.//2‘
install.log
sed  ‘s/(.)(.)(.*)/1\3\/‘ install.log
sed -nr ‘s/(.)(.)(.*)/\1\3/p‘
/etc/passwd
3,删除文件每行的最后一个字符。
sed
‘s/.$//‘ install.log
sed -nr ‘s/.$//p‘ /etc/passwd
sed -nr ‘s/(.*)(.)/\1/p‘ /etc/passwd4,删除文件每行的倒数第二个字符。
sed -r
‘s/(.*)(.)(.)/\1\3/‘ install.log
sed
-nr ‘s/(.*)(.)(.)/\1\3/p‘ /etc/passwd
5,删除文件每行的第二个单词。
sed -r
‘s/([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)(.*)/\1\2\4\5/‘
install.log
sed -nr
‘s/([^a-Z]*)([a-Z]+)([^a-Z]+)([a-Z]+)(.*)/\1\2\3\5/p‘
/etc/passwd
6,删除文件每行的倒数第二个单词。
sed -r
‘s/([a-Z]+)([^a-Z]+)(.*)([a-Z]+)([^a-Z]+)([a-Z+])/\1\2\3\4\6/‘
install.log
sed -nr
‘s/(.*)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]*)/\1\2\4\5\6/p‘
/etc/samba/smb.conf
7,删除文件每行的最后一个单词。
sed -r ‘s/(.*)([^a-Z]+)([a-Z]+)/\1\2/‘
/etc/passwd
sed -nr
‘s/(.*)([^a-Z]+)([a-Z]+)([^a-Z]*)/\1\2\4/p‘
/etc/samba/smb.conf
8,交换每行的第一个字符和第二个字符。
sed -r ‘s/(.)(.)/\2\1/‘ /etc/passwd
sed
-nr ‘s/(.)(.)(.*)/\2\1\3/p‘ /etc/passwd
9,交换每行的第一个字符和第二个单词。
sed -r
‘s/(^.)([^a-Z]*)([a-Z]+)([^a-Z]+)([a-Z]+)/\5\2\3\4\1/‘
/etc/passwd
sed -nr
‘s/([^a-Z]*)([a-Z]+)([^a-Z]+)([a-Z]+)(.*)/\1\4\3\2\5/p‘
/etc/samba/smb.conf
10,交换每行的第一个单词和最后一个单词。
sed -r
‘s/([a-Z]+)([^a-Z]+)(.*)([^a-Z]+)([a-Z]+)/\5\2\3\4\1/‘
install.log
sed -nr
‘s/([^a-Z]*)([a-Z]+)([^a-Z]+)([a-Z]+)(.*)/\1\4\3\2\5/p‘
/etc/passwd
11,删除一个文件中所有的数字。
sed
‘s/[0-9]//g‘ install.log
sed
‘s/[0-9]*//g‘ /etc/passwd
12,删除每行开头的所有空格。
sed ‘s/^ *//‘ install.log
sed -n ‘s/^\ *//p‘
/etc/samba/smb.conf
sed -nr ‘s/( *)(.*)/\2/p‘ testp
13,用制表符替换文件中出现的所有空格。
sed -r ‘s/(
+)/\t/g‘ install.log
sed ‘s/ /\t/g‘ ww.txt
sed
-n ‘s/\ /\t/gp‘ pass
14,把所有大写字母用括号()括起来。
sed ‘s/[A-Z]/(&)/g‘ /etc/passwd
sed -nr
‘s/([A-Z])/(&)/gp‘ testp
sed -n ‘s/[A-Z]/(&)/gp‘ testp15,打印每行3次。
sed -n ‘p;p;p‘
/etc/passwd
sed ‘p;p‘ pass
16,隔行删除。
sed ‘1d;n;d‘ ww.txt
sed ‘1~2d‘ ww.txt
sed ‘0~2d‘
ww.txt
sed -n ‘1~2p‘
pass
17,把文件从第22行到第33行复制到第56行后面。
cat -n
/etc/passwd | sed ‘22h;23,33H;51G‘
sed
‘1,21h;22h;23,33H;44G‘ pass
18,把文件从第22行到第33行移动到第56行后面。
cat -n /etc/passwd | sed
‘22{h;d};23,33{H;d};51G‘
sed
‘22{h;d};23,33{H;d};44G‘ pass
19,只显示每行的第一个单词
sed -r ‘s/([a-Z]+)(.*)/\1/‘
install.log
sed -nr
‘s/([^a-Z]*)([a-Z]+)([^a-Z]+)(.*)/\2/p‘
/etc/passwd
20,打印每行的第一个单词和第三个单词。
sed
-r ‘s/([a-Z]+)([^a-Z]+)([a-Z]+)(.*)/\1\3/‘ install.log
sed -r
‘s/([^a-Z]*)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)(.*)/\2\6/‘
/etc/passwd
sed -nr
‘s/([^a-Z]*)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)([a-Z]+)(.*)/\2--\4/p‘
/etc/passwd
21,将格式为    mm/yy/dd    的日期格式换成   mm;yy;dd
echo mm/yy/dd  | sed -n ‘s#/#;#gp‘
date +%m/%Y/%d |sed
-n ‘s#/#;#gp‘
sed -r ‘[email protected]/@;@g‘ /etc/passwd

时间: 2024-12-23 14:52:53

SED实用21例的相关文章

sed awk 样例

sed [options] '[action]' filename options: -n:一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则只会把经过sed命令处理的行输出到屏幕. -e:允许对输入数据应用多条sed命令编辑. -i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出. actions: -a:追加,在当前行后添加一行或多行 -c:行替换,用c后面的字符串替换原数据行. -i:插入,在当前行前插入一行或多行. -d:删除,删除指定的行. -p:打印,输出指定的行

深入浅出linux三剑客之sed必杀技一例

转 http://oldboy.blog.51cto.com/2561410/949365 缘起:上完培训课后,同学们对sed加正则处理问题的热情高涨,氛围相当好,但是,有个别同学还是有些晕乎,因此,撰写此文.此例如果搞熟练了,sed和正则的大部分常用技术你掌握起来就简单了. 如果还有不会的,老男孩就拿出最后的讲解必杀技(先保密,嘿!),同学们想不会那是不可能的,除非你们自己主动放弃,哈哈.来,开整~! 老男孩linux培训第三节课程课前第考试一题,问题如下 1.如何取得/etiantian文件

Sed文本替换一例

使用 Sed 完成文本替换操作任务是非常合适的. 现在, 假设我要将一个原有 Java 项目中的一些包及下面的类移到另一个项目中复用. Project javastudy: Packages: algorithm/ ,  foundations/,  javatech/, patterns/, threadprogramming/, datastructure/, javagui/, junitest3/, testdata/,  utils/ 这些包下面会有很多子包. 现在要把这些包及其子包下

grep进阶与sed行编辑器

grep进阶与sed行编辑器 上一篇(http://nearlv.blog.51cto.com/2432295/1729198)我们介绍了grep的一些基本的使用方法,其它grep还是一些比较高级的用法,让我们一起来看看. 先来看一下下面例子的运行结果: 相同的命令输出的结果有点不一样,对,这里就是利用"alias"去设置命令的别名,语法格式为"alias="command""即可,可能通过直接在命令行输入"alias"查看当

《sed的流艺术之二》-linux命令五分钟系列之二十二

本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. === [正文开始] 上文接:<sed的流艺术之一>-linux命令五分钟系列之二十一 5 sed中有选项么?有没有什么比较常用的? sed最主要的就是command部分,把这部分玩转了,你就已经很厉害了,而玩转这部分的前提是玩转正则表达式.尽管如此,sed的选项部分的-n选项仍然是非常重要,理解

Linux运维文本处理三剑客之sed命令

一· sed简介 与Vi等全屏编辑器不同,sed是一个非交互式的文本编辑器,它可以对文本文件和标准输入进行编辑,    标准输入可以来自键盘.文件重定向.字符串.变量,甚至来自管道的文本.sed是对文本中的行进行    逐行处理. sed只是对缓冲区中原始文件的副本进行编辑,并不编辑源文件.如何需要保存改动的内容,需要将输    出重定向到另一个文件,可以使用下面格式的命令: sed 'sed命令' input-file > result-file 二· sed调用的二种方式: 1.在shell

Sed教程(一)之安装配置

介绍如何在GNU/ Linux系统中设置sed环境 安装使用软件包管理器 一般情况下,sed默认提供在大多数的GNU/ Linux发行版.使用该命令,以确定其是否存在于您的系统上.如果没有,那么在基于Debian GNU/ Linux可以使用apt包管理器,如下所示安装sed: [root]# sudo apt-get install sed 安装后,确保sed可以通过命令行访问. [root]# sed --versio 执行上面的代码,会得到如下结果: sed (GNU sed) 4.2.2

shell中sed的使用

1.在命令行定义编辑器命令 命令格式 sed options script file sed不会修改文本文件的数据,他只会将修改后的数据发送到STDOUT. 2.在命令行上使用多个编辑器命令 将命令放在一个文件中 3.s命令使用替换标记 .数字代表新文本将替换第几处模式匹配的地方 .g,替换所有的 .p,原来的内容打印出来 .w file,将替换的结果写到文件. -n命令禁止打印模式空间,-n和p一起使用只打印替换的行. 4.使用地址 4.1指定行 sed '2s/dog/cat/' data1

sed应用

sed基本用法 1.1 问题 本案例要求熟悉sed命令的p.d.s等常见操作,并结合正则表达式,完成以下任务: 删除文件中每行的第二个.最后一个字符 将文件中每行的第一个.第二个字符互换 删除文件中所有的数字.行首的空格 为文件中每个大写字母添加括号 1.2 方案 sed文本处理工具的用法: 用法1:前置命令 | sed [选项] '编辑指令' 用法2:sed [选项] '编辑指令' 文件.. .. 相关说明如下: "编辑指令"可以为增删改查等指令 "定址符"用来定