<代码>正则表达式 ifconfig | sed - n 2 p | sed的年代。* inet//g | sed的年代#子网掩码。* $ # # g’#用/#均可理论可用任何特殊字符替代 # sed - r后面可跟扩展正则扩展正则+ (. *) ifconfig | sed - n 2 p | sed - r的# ^。* inet Broast (. *)。* $ # \ 1 # g’# \ 1代表正则中的第一个组即(. *)里的内容 ifconfig | sed nr 2年代# ^。* inet (. *)。* $ # \ 1 # gp的#合成一行 ifconfig | awk的NR==2{打印$ 2}’#取IP地址awk默认分隔符是空格取IP最方便 ifconfig ens33 | grep - o”inet [0 - 9。[0 - 9]*“| grep - o”。*”#取IP ifconfig ens33 | sed nr 2年代# ^。([0 - 9]* inet。*)子网掩码。* $ # \ 1 #医生' 猫卑劣。txt | sed - r的# ^ * inet。(. *)子网掩码(. *)广播(. *)$ ^ C1 \ 2 \ 3 # g’ sed - r的# (. *):(. *),(. *),(. *),(. *),(. *),(. *)$ # 7 \ \ 6 \ 5 \ 4 2 \ 3 \ \ 1 # g’#后向引用换位置sed最多引用9个,用awk更方便 sed - n '/^ $/d ' #空行删除//中写字符串 sed的1、2 # C #——和——# g’#这里,代表C C也可以是正则表达式 ls | sed的#(^ . *)哈哈# 1. mv \ jpg # g | bash sed 1 ~ 2 p的#我d奇数行 sed的2 d ~ 2 p的#我偶数行 sed的# ^ # #负责人g’#头加 sed的尾巴# $ # # g’#尾加 sed的# ^ #测试# g’#开头加测试 sed的# $ #测试# g’#末尾加测试 sed多行操作sed的2,str的1 ~ 2,str的1我str/' 1, 2 d ' ' 5 ~ 10 d '/' 1 ~ 3 p”“1、3 p” # sed在我d的时候必须有相应的行,空文件会出错,也就是说空文件无法直接用sed添加 sed '/新/d ' #删除包含新的行sed命令中- n p sed中- n p基本都是成对出现 awk - f”:“{”:“打印1美元2美元”:“3”:“4美元”:“5”:“6美元”:“7”- - - - - -“1美元}“passwd #这里是全文操作 awk - f”5 | 28“NR==5{打印$ 2}’# 5或28作为分隔符两个字符串这种格式最好用|即使单个字符也用|否则字符串造成歧义 我| awk的{如果(在2美元;5)打印$ 0}的$ 0表示整行 sed -我的#页# dd # g”1。txt将1。txt文件中的pp改成dd立即生效,我代表直接写入文件代码>
#在LINUX中,所有的文本处理都是读取一行(进内存)处理一行输出一行直接循环结束
正则表达式字符串用“;”以防问题
<代码> ^。*以任意字符开的头 . *美元以任意字符结尾 ^字以字开的头 词以美元结尾 [^字]括号里的是取反 。只代表一个字符”是字符就匹配上了所有除空行“空格和空行是不一样的 \转义 *重复前面0或多个字符 . *所有 (abc)匹配集合内任意一个字符 (^ abc)匹配集合内除abc的任意一个字符 [0 - 9][a - z]的[a -?] 一个\ \}{n,米重复一至少n次到至多m次# # \ {n, m \}这种形式必须用“引起来且”“两边没有空格,否则会报的错 一个\ \ {n, \} {, m \} \ \ {n}重复n次 egrep sed - r可以不使用\转义 # #了解扩展正则表达式grep - e egrep +一个或一个以上(*是0或多) 吗?0或一个前面字符 |表示同时过滤多个字符串egrep”sshd | systemd” ()后向引用参考(. *)\ 1 grep - n -我不区分大小写- o只显示匹配到的内容不输出整行 找到/测试类型f - name”*。sh”| xargs sed -我的# #新老# g’!叹号可取反——和- o 也可同时写sed - i ' s # #新老# g * . sh # awk NR 0美元整行$ 1 $ 2 $ NF最后一列NF为全行列数 $ (NF-1)倒数第二行 # awk原理一行是一个记录 # RS表示一个记录的结束FS表示一个区域的分隔NF美元为最后一个区域 ifconfig | awk开始RS=?“{}”{打印$ 1}’以:为代替回车为换行符 #正则条件(NR==2)范围(NR==2, NR==5) 2到5 # 1美元~/正则开始/,3美元~/正则结束/awk - f”[:] + | \ t +”“{打印$ 2}”等级以1个或多个:(空格或冒号)或1或多个标签制表符作为分隔符 #开始模块结束模块 seq 100 | awk”{+=$ 1}{打印}结束' 1加到100 猫passtemp | awk的{子(/x/,“购买力平价”)}{打印$ 0}‘awk替换 awk的1美元lisi ~//{打印$ 0}’年级年级文件匹配1美元包括lisi的行并打印出行 awk的4美元~/(5 | 3)$/{打印$ 0}’级匹配5或3结尾 awk的1美元~/^ [l | W]/{打印$ 0}’级匹配l或W开头用[]和()都可为了和正则匹配强烈建议用[] awk - f“\ t”3 ~/^ 9美元/{打印$ 0}’ #不包含:!在awk中不包含可以使用!表示 在awk中,可以用来替换的有三个函数:子gsub gensubsub (r, s (t)) r/找谁/疤婊怀墒裁础? []替换那个部分的 awk的詹1美元~//{gsub (/zhang3/,“ccccc”, 1美元),打印$ 0}的品位 # #注意/zhang3/癱cccc”以及多个命令间用;分号grep、sed、awk个人总结