1
有没有办法将testThatMy
转换为thatMy
使用终端?终端文件替换testA与
这是我现在有:
sed -i 's/test//g' MyJavaFile.java
唯一缺少的是将字符转换test
后现在为小写。
也由于某种原因引用一个正则表达式变量似乎不工作。
sed -i 's/test([A-Z]{1})/\1/g' MyJavaFile.java
有没有办法将testThatMy
转换为thatMy
使用终端?终端文件替换testA与
这是我现在有:
sed -i 's/test//g' MyJavaFile.java
唯一缺少的是将字符转换test
后现在为小写。
也由于某种原因引用一个正则表达式变量似乎不工作。
sed -i 's/test([A-Z]{1})/\1/g' MyJavaFile.java
您可以使用下面的GNU sed命令:
sed -r 's/test([[:upper:]])([^[:space:]]*)/\L\1\2/g' file.java
对于就地编辑你需要传递-i
,但我会先测试命令。
模式说明:
-r
启用扩展POSIX正则表达式。[[:upper:]]
相匹配的大写字符[^[:space:]]*
匹配的零个或多个非空格字符代用说明:
\L
变换以下表达式为大写。 \1
是内容第一捕获组。 \2
是第二个捕获组的内容。
谢谢。虽然我不得不把它改成''s/test(([[:upper:]])[^ [:space:]] *)/ \ L \ 1/g'' – Niklas
呃我的错!我改变了我脑海中的想法。 – hek2mgl