Linux基础-sed+正则表达式

时间:2024-05-19 17:12:12

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

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

Linux基础-sed+正则表达式

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

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式 

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

Linux基础-sed+正则表达式

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

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

Linux基础-sed+正则表达式