壳中如何使用grep、sed正则提取和替换字符串

  介绍

小编给大家分享一下壳中如何使用grep、sed正则提取和替换字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

Linux中使用grep正则提取字符串

echo  office365  |, grep  -P  & # 39; \ d + & # 39; - o   find 只-name “* .txt", |, xargs  grep  -P  & # 39;正则表达式# 39;,- o

, xargs会将找到结果作为grep的输入,防止找到结果过多无法处理
- p参数表明要应用正则表达式
- o表示只输出匹配的字符串,这样我们就可以把正则匹配到的结果拿到了。

Linux, Mac OS中使用sed正则提取字符串

Mac OS上用正则的话要用e参数取代p参数,也可以用sed命令:

sed命令格式:

sed  & # 39; s/oldValue newValue/舌鳎# 39;

提取字符串

echo  here365test  |, sed  & # 39; s/. *之前\([0 - 9]* \)。*/\ 1/舌鳎# 39;

输出:

365

s表示替换,\ 1表示用第一个括号里面的内容替换整个字符串,sed支持*,不支持?+,不能用\ d之类,正则支持有限。

替换字符串

echo  here365test  |, sed “s/365/789/g"      ,   #,注意,必须是双引号,不然引用变量会有问题!没错,就是这么严苛奇葩!   newid=996   echo  here365test  |, sed “s/365/$ newid/g"

输出:

here789test
here996test

壳中如何使用grep、sed正则提取和替换字符串