Linux 替换多个文件中的文本

Linux 替换多个文件中的文本,linux,sed,grep,Linux,Sed,Grep,我想要支持android RTL,并且想要一种在一堆xml中快速添加支持RTL的方法 所以本质上我想要的是替换 android:paddingLeft = 10dp < !-- here 10dp can be anything else --> 我已经看到了多个grep和sed的例子,它们可以进行文本替换,但在这里我需要保留额外的文本,并在下一行中复制 我相信我可以用记事本++和/或编写一个简单的java代码。。但是寻找一个简单的解决方案 使用sed sed -r 's/(an

我想要支持android RTL,并且想要一种在一堆xml中快速添加支持RTL的方法
所以本质上我想要的是替换

android:paddingLeft = 10dp  < !-- here 10dp can be anything else -->
我已经看到了多个grep和sed的例子,它们可以进行文本替换,但在这里我需要保留额外的文本,并在下一行中复制

我相信我可以用记事本++和/或编写一个简单的java代码。。但是寻找一个简单的解决方案

使用
sed

sed -r 's/(android:paddingLeft(\s*=\s*\w+))/\1\nandroid:paddingStart\2/g' file

为了测试和解释

最终做了grep-rl安卓:.*左res/| xargs sed-i-r/(安卓:(.*)左(\s*=\s*)/\1\n roid:\2Start\3/gm'喜欢regex101演示,很好的站点!!!
sed -r 's/(android:paddingLeft(\s*=\s*\w+))/\1\nandroid:paddingStart\2/g' file