草庐IT

regex_replace

全部标签

regex - bash 脚本 - sed 返回 ip 地址

我正在开发一个bash脚本,我正在尝试从打开的网络接口(interface)获取IPv4地址,在此操作中我使用了ipaddr和sed,但是出了点问题,因为我无法从sed获取IP。所以,脚本在某些时候是这样的:ipaddrshowdeveth0|grep"inet"这应该会返回:inet192.168.1.3/24brd192.168.1.255scopeglobaleth0对于sed,我想要这个:192.168.1.3/24我试过一些正则表达式,但它只给出错误或空行!我怎样才能做到这一点? 最佳答案 试试这个ipaddrshowde

linux - bash(可能可以使用 perl/python): filter space delimited arg list through regexes

我有一组正则表达式,应该针对空格分隔列表中的每个项目进行测试。我希望这些项目能够在其中包含将被转义的空格。所以:abcdef\ghijklabc由4项组成,abc、defghi、jkl和abc。如果我的正则表达式集是bk$^g输出应该是abcabc似乎grep-f可以让我完成大部分工作,但我必须处理一种处理转义空格的方法,所以我不能只执行tr从空格到换行符。编辑:我认为我可以只使用sed将常规空格替换为换行符的转义空间感知。tr在从换行符返回的路上就足够了。想知道是否有人有更好的想法。 最佳答案 我认为它可以在bash本身中处理而无

linux - bash(可能可以使用 perl/python): filter space delimited arg list through regexes

我有一组正则表达式,应该针对空格分隔列表中的每个项目进行测试。我希望这些项目能够在其中包含将被转义的空格。所以:abcdef\ghijklabc由4项组成,abc、defghi、jkl和abc。如果我的正则表达式集是bk$^g输出应该是abcabc似乎grep-f可以让我完成大部分工作,但我必须处理一种处理转义空格的方法,所以我不能只执行tr从空格到换行符。编辑:我认为我可以只使用sed将常规空格替换为换行符的转义空间感知。tr在从换行符返回的路上就足够了。想知道是否有人有更好的想法。 最佳答案 我认为它可以在bash本身中处理而无

regex - Grep for word and line before match

我有一个文本日志文件,其中包含多个条目,如下所示:Processinginput.jpg(323of500)...Detectingmatchesinregion1...Detectingmatchesinregion2...Detectingmatchesinregion3...Detectingmatchesinregion4...Detectingmatchesinregion(n)......NOTENOUGHMATCHES-FULLFILEOUTPUTProcessinginput1.jpg(324of500)...我想对文件进行grep以匹配出现FULLFILE序列的每个实

regex - Grep for word and line before match

我有一个文本日志文件,其中包含多个条目,如下所示:Processinginput.jpg(323of500)...Detectingmatchesinregion1...Detectingmatchesinregion2...Detectingmatchesinregion3...Detectingmatchesinregion4...Detectingmatchesinregion(n)......NOTENOUGHMATCHES-FULLFILEOUTPUTProcessinginput1.jpg(324of500)...我想对文件进行grep以匹配出现FULLFILE序列的每个实

regex - 如何重命名文件夹中的所有文件,在 Linux 中删除空格字符后的所有内容?

你好我不能很好地使用正则表达式我整天都在互联网上搜索。我有一个包含很多图片的文件夹:50912000Bicchiere.jpg50913714SottobottigliaBernini.jpg我使用的是MacOSX,但我也可以在Ubuntu上尝试,我想为bash制作一个脚本以删除第一个空格后的所有字符,以获得如下解决方案:50912000.jpg50913714.jpg对于文件夹中的所有文件。任何帮助表示赞赏。问候 最佳答案 使用纯BASH:f='50912000Bicchiere.jpg'mv"$f""${f/*./.}"或者使用

regex - 如何重命名文件夹中的所有文件,在 Linux 中删除空格字符后的所有内容?

你好我不能很好地使用正则表达式我整天都在互联网上搜索。我有一个包含很多图片的文件夹:50912000Bicchiere.jpg50913714SottobottigliaBernini.jpg我使用的是MacOSX,但我也可以在Ubuntu上尝试,我想为bash制作一个脚本以删除第一个空格后的所有字符,以获得如下解决方案:50912000.jpg50913714.jpg对于文件夹中的所有文件。任何帮助表示赞赏。问候 最佳答案 使用纯BASH:f='50912000Bicchiere.jpg'mv"$f""${f/*./.}"或者使用

regex - Sed 正则表达式多行 - 替换 HTML

我正尝试在Linux系统上使用sed替换多行这是我的文件DATA1DATA2DATA3DATA4DATA5DATA6DATA8DATA9我做过和失败的尝试!sed-n'1h;1!H;${;g;s/.*//g;p;}'sed-n'1!N;s/.*//p'sed-i's|]*-->[^+]+]*-->||g'sed-i's|/\/\//,/\/\/||g'之间的所有内容应该更换。这个问题类似sedmultilinereplace 最佳答案 虽然@nhahtdh的回答对于您的原始问题是正确的,但此解决方案是对您的评论的回答:sed'//,

regex - Sed 正则表达式多行 - 替换 HTML

我正尝试在Linux系统上使用sed替换多行这是我的文件DATA1DATA2DATA3DATA4DATA5DATA6DATA8DATA9我做过和失败的尝试!sed-n'1h;1!H;${;g;s/.*//g;p;}'sed-n'1!N;s/.*//p'sed-i's|]*-->[^+]+]*-->||g'sed-i's|/\/\//,/\/\/||g'之间的所有内容应该更换。这个问题类似sedmultilinereplace 最佳答案 虽然@nhahtdh的回答对于您的原始问题是正确的,但此解决方案是对您的评论的回答:sed'//,

regex - 当区域重叠时,Sed 不会替换文件中的所有实例

我需要用其他词替换几个词。例如:文件中的“apple”和“FRUIT”,仅在这4种情况下:_apple_,前后各有一个空格。[apple_,前面有一个方括号,后面有一个空格。_apple],前面有一个空格,后面有一个方括号。[apple],前后有方括号。我不希望在任何其他情况下发生替换。我试过使用下面的代码:a="apple"b="fruit"sed-i"s/$a/$b/g"./filesed-i"s/\[$a/\[$b/g"./filesed-i"s/$a\]/$b\]/g"./filesed-i"s/\[$a\]/\[$b\]/g"./file我认为最后的选项“g”意味着它将替换所