对sed来说有点新。我制作了一个脚本来替换文件中的各种文本。例如,文件test。txt包含:
My name is <Jack>.
My dad calls me <Jack>. My mum calls me <Jack>, too.
我想替换“
sed -re 's/<(.+?)>/:\1:/g' test.txt
它回来了
My name is :Jack:.
My dad calls me :Jack>. My mum calls me <Jack:, too.
因此,它可以很好地处理一行中的单个事件。一行中多次出现的结果是错误的,因为sed参数是第一行之间的所有文本”
有什么提示吗?(还有一点解释……)
谢谢
编辑:
使用Gedit或其他编辑器中的replace,相同的正则表达式可以正常工作。
我更新了这个例子。
以下是test.html:
My name is <a href="filename.html#firstAnchor">Jack</a>.
My dad calls me <a href="filename.html#firstAnchor">Jack</a>. My mum calls me <a href="filename.html#secondAnchor">Jack</a>, too.
这个命令给我预期的结果:
sed -re 's/<a href="filename.html#[^>]*>([^<]*)<\/a>/:\1:/g' test.html
结果:
My name is :Jack:.
My dad calls me :Jack:. My mum calls me :Jack:, too.
sed搜索以
我拿到了吗?
最简单:
kent$ echo "My name is <Jack>.
dquote> My dad calls me <Jack>. My mum calls me <Jack>, too."|sed 's/[<>]/:/g'
My name is :Jack:.
My dad calls me :Jack:. My mum calls me :Jack:, too.
如果要使用组:
kent$ echo "My name is <Jack>.
My dad calls me <Jack>. My mum calls me <Jack>, too."|sed -r 's/<([^>]*)>/:\1:/g'
My name is :Jack:.
My dad calls me :Jack:. My mum calls me :Jack:, too.
在代码中,您希望使用非贪婪匹配,不幸的是,sed不支持这一点。因此,您获得输出的原因是:
整个的
<Jack>. My mum calls me <Jack>
就像
匹配
插孔
我有一个,当你点击next时,你可以在其中写一些东西。你写的文本会被写入另一个editText..它工作得很好。。但我想用textWatcher替换一些字母。。 示例:如何使S为$或O为@ 更新: 我的代码会将你在EditText中写的内容输入到下面的大文本视图中…当我按下按钮时,它会设置你写的文本,但我想将一些字母(例如S)替换为$…当我键入S时,什么都不会发生…只是S不会变成$… 我做错了什么
我有一条短信。在这篇文章中是一张图片。我想把每个单词柏林都换成一个链接。现在我有问题,这站在图片的旧部分也是柏林,这也被取代。 有没有可能照片中的柏林没有被取代?注意,代码只是一个示例。我通常从wordpress获取内容。但这与此无关。我想。
问题内容: 有没有办法替换放置在HTML正文中的table元素内的普通文本? 喜欢用“ hi”代替“ hello”吗? 请仅使用不带 jQuery的* JavaScript 。 * 问题答案: 要用另一个字符串替换HTML中的字符串,请使用innerHTML的replace 请注意,这将替换整个正文的第一个实例,包括HTML代码中的任何实例(例如,类名等。),因此请谨慎使用- 为了获得更好的结果,
问题内容: 我想做的是一项相当普通的任务,但我在网络上找不到任何参考。我的文字带有标点符号,我想要一个单词列表。 应该 但是只能使用一个参数,因此在用空格分割后,所有单词都带有标点符号。有任何想法吗? 问题答案: 正则表达式合理的情况:
问题内容: 我有一个重复条目的单词。 我想计算并保存数据结构中每个单词的出现次数。 我该怎么做? 问题答案: 如果您没有大量的字符串,最短的实现方法是使用方法,如下所示: 输出:
我想替换字符串中的一些单词。我有可行的解决方案,但我认为这不是最好的。你能帮我做些更有效的事情吗 代码是avaiable在这里:https://codepen.io/yasAFE/pen/BYOVme