【Linux SED RegEx替换,但保留通配符】教程文章相关的互联网学习教程文章

将regex与util-linux中的rename版本一起使用【代码】

我正在使用GNU / Linux发行版,该实用程序的重命名来自util-linux,并且我想与其一起充分利用正则表达式(Perl或POSIX). 共有two versions of rename个: >“ Perl”版本,语法重命名为“ s / ^ fgh / jkl /” fgh *> util-linux版本,语法重命名为fgh jkl fgh * 如果在第一个中使用正则表达式似乎很明显,那么我就很难访问它.但是,我对第二个表达式感到困惑:我找不到任何有关正则表达式的可能用法和格式的相关文档或示例. 让我们举一个...

regex – 如何重命名文件夹中的所有文件,删除linux中空格字符后的所有内容?【代码】

你好,我不能很好地使用正常的表达式,这是我在互联网上搜索的一整天.我有一个包含许多图片的文件夹: > 50912000 Bicchiere.jpg> 50913714 Sottobottiglia Bernini.jpg 我正在使用Mac OS X,但我也可以尝试使用Ubuntu,我想为bash创建一个脚本,在第一个空格之后删除所有字符,以获得这样的解决方案: > 50912000.jpg> 50913714.jpg 对于文件夹中的所有文件.任何帮助表示赞赏.问候解决方法:使用纯BASH:f='50912000 Bicchiere.jpg' mv "...

Linux SED RegEx替换,但保留通配符【代码】

如果我有一个包含这个字符串的字符串(Foo可以是任何东西):<tag>Foo</tag>我将如何使用SED和RegEx将其替换为:[tag]Foo[/tag]我失败的尝试:echo "<tag>Foo</tag>" | sed "s/<tag>\(.*\)<\\/tag>/[tag]\1[\\/tag]"解决方法:你的正则表达式缺少终止/$echo "<tag>Foo</tag>" | sed "s/<tag>\(.*\)<\\/tag>/[tag]\1[\\/tag]/" [tag]Foo[/tag]

regex – sed命令在solaris中工作但在Linux中不工作【代码】

我是shell脚本和sed命令的新手. 以下sed命令在Solaris中有效但在Linux中出错:sed -n 's/^[a-zA-z0-9][a-zA-z0-9]*[ ][ ]*\([0-9][0-9]*\).*[/]dir1[/]subdir1\).*/\2:\1/p'错误是:sed: -e expression #1, char 79: Invalid range end我不知道为什么它会给出无效的范围结束错误.解决方法:看起来Linux Sed不喜欢你的A-z(两次).无论如何,它真的没有意义. 使用[A-Z](大写Z)

Linux shell脚本中的RegEx Confusion【代码】

谁能解释一下这个在linux shell中的作用…..port=$((${devpath##*[-.]} - 1))我有一个名为$devpath的变量,一个可能的值是/ sys / bus / usb / devices / usb2 / 2-1. 我假设${devpath ## * [ – .]}在$devpath上执行某种正则表达式,但这对我没有意义.我理解的* [ – .]也不是指“除了换行符之外的任何一个角色中的任何一个”或者任何其他角色“ 在运行脚本时(这是从usb-devices.sh开始),似乎port的值始终是第一个数字.令我困惑的其...

regex – Linux sed命令不会更改目标文件【代码】

使用我的shell脚本,当我运行./Test1 hello结果时. 它应该以标准输入和结果作为标准输出. shell应该在< td>,< / td>和abc之前删除任何空格 所以,我这样编写脚本tr -d [:blank:] < $1 grep -r "<td>" $1 | sed -r 's/<td>//g' > $2 sed -r 's/<\/td>//g' $2 sed -r 's/abc//g' $2但是,当我运行此命令时,结果文件的内容与hello文件的内容完全相同(唯一的区别是删除了空格) 文件hello内容:<td>hello</td><td>hello</td><td>hello</td>...