标签: find-and-replace

使用 sed 将字符串替换为 XML 文件中的特殊字符

我很难用 sed 替换 XML 文件中的文本字符串,尽管我使用 grep 查找相同的字符串没有问题。由于要替换的新字符串和旧字符串包含很多特殊字符,我认为最好将它们存储在变量中,而不是使用大量反斜杠:

OLD_STRING='<property name="webServiceHost">${jboss.bind.address}</property>'
NEW_STRING='<!--<property name="webServiceHost">${jboss.bind.address}</property>-->'
Run Code Online (Sandbox Code Playgroud)

字符串似乎按预期存储:

$ echo $OLD_STRING; echo $NEW_STRING
<property name="webServiceHost">${jboss.bind.address}</property>
<!--<property name="webServiceHost">${jboss.bind.address}</property>-->
Run Code Online (Sandbox Code Playgroud)

Grep'ing 确认旧字符串存在于 XML 文件中:

$ grep "$OLD_STRING" jboss-beans.xml
<property name="webServiceHost">${jboss.bind.address}</property>
Run Code Online (Sandbox Code Playgroud)

但是以下 sed 命令不会产生任何输出:

sed -i 's/"$OLD_STRING"/"$NEW_STRING"/g' jboss-beans.xml
Run Code Online (Sandbox Code Playgroud)

知道我在这里缺少什么吗?

linux sed find-and-replace special-characters

6
推荐指数
1
解决办法
3万
查看次数

通过 FTP 在多个文件中查找和替换文本的最佳方法是什么?

如何在 FTP 服务器上的多个文件中搜索和替换文本?

基本上我需要在一堆普通的旧 HTML 页面上更改 Google Analytics 信息,我想知道是否有办法做到这一点,而不必下载所有文件,在本地进行搜索和替换,然后通过 FTP 将它们返回.

ftp website find-and-replace

5
推荐指数
1
解决办法
6499
查看次数

如何在 Opera 中对 textarea 上下文进行搜索和替换?

如何在 Opera 中对 textarea 的上下文进行搜索和替换?我有一个带有 html 表单的网页,我需要在此表单中输入和编辑大文本。

简单的例子:

  1. 留在这个页面,向下滚动
  2. 找到“你的答案”和一个大矩形区域来输入文本。
  3. 添加一些大文本,例如

    这是长文本的示例。这是长文本的示例。这是长文本的示例。

  4. 现在我的任务是:将“This”的所有子字符串更改为“That”;将“long long”的所有字符串更改为“very long”。如果我使用 notepad.exe 或任何文本编辑器,我可以按“Ctrl-G”或从菜单中调用“搜索和替换”对话框。这将显示带有“搜索”和“替换为”字段的对话框窗口。我可以在这个窗口中输入我的任务,然后编辑器将在文本中进行复制。

我要编辑的输入表单不属于我的站点(我无法更改 html;但我可以安装 UserJS)。我想留在浏览器中,因为此站点允许我执行一些经常使用的操作(例如此站点上的“{}”或“图像”按钮)。但是如果任务是在很多地方做替换,手工就很难做到。

我要编辑的输入表单有一些不错的编辑功能,但没有搜索和替换功能。

我的浏览器只能对文本区域内的文本执行“搜索”功能。

opera text-editing find-and-replace

5
推荐指数
1
解决办法
1796
查看次数

Textmate:正则表达式替换匹配保留大小写?

如何使用单个搜索/替换来替换所有单词townvillage保留这句话中第一个字母的大小写:

Towns are small cities. I live in a town.
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

regex textmate find find-and-replace macos

5
推荐指数
1
解决办法
2601
查看次数

如何在 Word 2007 中使用“查找/替换”对话框插入分页符?

我正在尝试用新页面或CTRL+enter键盘快捷键替换“-----------” 。

我将“CTRL+ENTER”粘贴到 Microsoft Word 2007 中的“替换为:”字段中,希望当我单击“全部替换”时,我会在新页面上显示破折号...

它没有用。

有些东西告诉我有一种更简单(工作)的方法。 是什么?我需要做什么?

windows microsoft-word-2007 find-and-replace microsoft-word

5
推荐指数
1
解决办法
4313
查看次数

sed:替换每一行中第一次出现的字符串

想象一下我有一个这样的文件:

INSERT INTO table VALUES('1','<p><em>The lazy fox jumps again</em></p>bunch of other html<p><em>Is the lazy fox crazy?</em></p>')
INSERT INTO table VALUES('2','<p><em>The lazy fox jumps again</em></p>bunch of other html<p><em>Is the lazy fox crazy?</em></p>')
INSERT INTO table VALUES('3','<p><em>The lazy fox jumps again</em></p>bunch of other html<p><em>Is the lazy fox crazy?</em></p>')
Run Code Online (Sandbox Code Playgroud)

我想删除只有第一次出现的<p><em></em></p>,所以我最终的东西是这样的:

INSERT INTO table VALUES('1','The lazy fox jumps againbunch of other html<p><em>Is the lazy fox crazy?</em></p>')
INSERT INTO table VALUES('2','The lazy fox jumps againbunch of other html<p><em>Is the lazy fox …
Run Code Online (Sandbox Code Playgroud)

sed find-and-replace

5
推荐指数
1
解决办法
5669
查看次数

Emacs Evil 搜索替换功能

Emacs 有一个名为Evil的 Vim 模拟器模式。此模式具有搜索替换功能,其作用与突出显示区域并在其上运行 sed 基本相同。这个函数的绝妙之处在于,它在您执行命令之前实时显示您所做更改的预览,这对于构建使用正则表达式的搜索替换命令非常有用。

我很虚弱,不想重新训练我的肌肉记忆来使用 Vim 键。有没有办法在普通 Emacs 中使用预览获得这种类似 sed 的搜索和替换功能?

emacs find-and-replace

5
推荐指数
1
解决办法
4577
查看次数

用另一个文件的内容替换文件中的关键字的shell脚本

我将创建一个 .sh 以使用其他文件的内容替换文件中的特定关键字。

  • template.html 包含一个唯一的字符串“ PLACEHOLDER
  • 它必须替换为文件“contents.html”的内容

sed 可用于替换关键字:

value="hello superuser"
sed -e "s/__PLACEHOLDER__/${value}/g" template.html > page.html
Run Code Online (Sandbox Code Playgroud)

所以我尝试了以下方法:

value=$(<contents.html)
sed -e "s/__PLACEHOLDER__/${value}/g" template.html > page.html
Run Code Online (Sandbox Code Playgroud)

并收到以下错误消息:替代模式内未转义的换行符

请问这种情况怎么处理?

谢谢!

shell sed sh find-and-replace

5
推荐指数
1
解决办法
4870
查看次数

正则表达式查找缩写

(这是我之前提出的一个问题的衍生内容。)

我正在尝试为 LibreOffice Writer 设计一个正则表达式,以查找我的博士论文中的所有缩写。目前我有以下内容:

\b(?:[A-Z]){2,}
Run Code Online (Sandbox Code Playgroud)

这几乎完成了这项工作,因为它识别出所有以多个大写字母开头的单词。但是,我有一些缩写它没有捕获,即:

CoE RoR RoC
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要一个 RegEx 来标识所有至少包含两个大写字母的单词,尽管它们不必位于单词的开头。但我在尝试创建它时不知所措。有人能指出我正确的方向吗?

regex find-and-replace libreoffice libreoffice-writer

5
推荐指数
1
解决办法
1万
查看次数

匹配多行文本的正则表达式

我正在尝试使用正则表达式匹配以以下标记开头和结尾的行:

<Description>
</Description>
Run Code Online (Sandbox Code Playgroud)

标签之间可以有多行文本,我如何匹配这个值?描述标签示例:

<Description>
 test1
 test2
 test3
 test4
</Description>
Run Code Online (Sandbox Code Playgroud)

我尝试了多种正则表达式变体,但都不起作用,这是我尝试过的最新变体:

<Description>(\n.*)</Description>
Run Code Online (Sandbox Code Playgroud)

编辑:我在使用正则表达式时使用 Visual Studio 17s 查找/替换组件。此外,还有多个描述标签实例。

regex find-and-replace

5
推荐指数
1
解决办法
4万
查看次数