使用sed
,我可以使用
sed 's/pattern/replacement/'
所有比赛都使用
sed 's/pattern/replacement/g'
如何只替换最后匹配,无论之前有多少匹配?
答案 0 :(得分:3)
一种有趣的方法是使用rev
来反转每一行的字符并向后写你的sed替换。
rev input_file | sed 's/nrettap/tnemecalper/' | rev
答案 1 :(得分:2)
从我在其他地方发布的内容复制粘贴:
Response response;
String xmlRequest= buildMerchantNBPreferencesRequest(accountNumber,emailID,thresholdValue);
Variant variant = new Variant(MediaType.APPLICATION_XML_TYPE, null, null, "XML");
Invocation.Builder builder = merchantPreferencesClient.request().header("Content-Encoding", "XML").property("Content-Encoding", "XML");
Invocation invocation = builder.header("Content-Encoding", "XML").buildPost(Entity.entity(xmlRequest, variant));
response = invocation.invoke();
进一步阅读:
答案 2 :(得分:2)
这可能适合你(GNU sed):
sed 's/\(.*\)pattern/\1replacement/' file
使用贪婪吞噬模式空间然后regexp引擎将退回到该行并找到第一个匹配,即最后一个匹配。