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)/12/g' passwd

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

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

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

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

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

sed -r 's/^(.)([a-Z]+)([^0-9][^a-Z]+)([a-Z]+)([^0-9][a-Z])/42315/g' passwd

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

sed -r 's/^([a-Z0-9]+)([^a-Z0-9]+)(.+)([^a-Z0-9]+)([a-Z0-9]+)/52341/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'

原文地址:https://www.cnblogs.com/DragonFire/p/6600121.html