Linux基础-sed+正则表达式

Posted DragonFire

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础-sed+正则表达式相关的知识,希望对你有一定的参考价值。

1,删除文件每行的第一个字符:sed -r \'s/^.//g\' passwd

2,删除文件每行的第二个字符:sed -r \'s/^(.)(.)/\\2/g\' passwd

3,删除文件每行的最后一个字符:sed -r \'s/(.)$//g\' 

4,删除文件每行的倒数第二个字符: sed -r \'s/(.)(.)$/\\2/g\' passwd

5,删除文件每行的第二个单词:sed -r \'s/^([a-Z])([^0-9][^a-Z])(a-Z)/\\1\\2/g\' passwd

6,删除文件每行的倒数第二个单词:

sed -r \'s/([a-Z]+)([^0-9][^a-Z])([a-Z]+)$/\\2\\3/g\' passwd

7,删除文件每行的最后一个单词: sed -r \'s/([a-Z]+)$\' passwd

8,交换每行的第一个字符和第二个字符:sed -r \'s/^(.)(.)/\\2\\1/g\' passwd

9,交换每行的第一个字符和第二个单词:

sed -r \'s/^(.)([a-Z]+)([^0-9][^a-Z]+)([a-Z]+)([^0-9][a-Z])/\\4\\2\\3\\1\\5/g\' passwd

10,交换每行的第一个单词和最后一个单词:

sed -r \'s/^([a-Z0-9]+)([^a-Z0-9]+)(.+)([^a-Z0-9]+)([a-Z0-9]+)/\\5\\2\\3\\4\\1/g\' passwd

11,删除一个文件中所有的数字:sed -r \'s/[0-9]//g\' passwd

12,删除每行开头的所有空格:sed -r \'s/^ //g\' passwd

 

13,用制表符替换文件中出现的所有空格。

14,把所有大写字母用括号()括起来: sed -r \'s/[A-Z]/(&)/g\' passwd

15,打印每行3次:sed \'p;p\' passwd 每一个p代表一次打印,如果没有p则打印一遍,之后没多一个p就会多一次打印

16,只显示每行的第一个单词:sed -r \'s/([^0-9a-Z]+)(.+)//g\' passwd

17,打印每行的第一个单词和第三个单词

18,用命令获取格式为 mm/yy/dd 的日期格式,结合管道,将其换成   mm;yy;dd格式

date "+%m/%y/%d" | sed -r \'s/\\/\\-/g\'

 

以上是关于Linux基础-sed+正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

shell————正则表达式基础及sed

shell脚本——正则表达式Sed与Awk文本处理工具详解

linux三剑客---grep,sed,awk与正则表达式

Linux 基础正则表达式

Linux正则表达式——基础篇

linux基础正则表达式