1
108
根据您给出的示例,这似乎是您想要的:
它不是递归的(它不会下降到子目录)。要获得一个很好的解决方案,在整个树中替换选定的文件,我将使用查找:
|
2
70
您的意思是在所有与grep匹配的文件中搜索并替换字符串吗?
因为这似乎是一个相当流行的问题,所以我想更新一下。
现在我主要使用
要处理文件名中的空白,可以运行:
如果空白不是一个问题,它甚至更短:
|
3
14
|
4
6
我喜欢并使用上述解决方案,或在数千个文件中进行系统范围的搜索和替换:
我假设它使用“*.htm”而不是.html来搜索和查找.htm和.html文件。 我将.bak替换为系统范围内更广泛使用的tilde(~),以便更轻松地清理备份文件。 |
5
4
|
6
3
|
7
1
已经给出了使用的答案 发现 和
这可能是标准答案。或者你可以用
对于大多数快速使用,您可以找到以下命令 更容易记住。以下是当前目录中所有文件的递归替换(foo->bar):
默认情况下,它在大多数Linux发行版上都不可用,但可以快速安装(
然而,对于涉及正则表达式和反向替换、文件重命名以及搜索和替换的更为困难的工作,我所知道的最通用、最强大的工具是 雷普伦 ,一个小Python脚本,我不久前为一些更棘手的重命名和重构任务编写的。您选择它的原因可能是:
Check the README 例如。 |
8
1
这实际上比看起来容易。
简单的豌豆。如果您很好地掌握了find、grep、xargs、sed和awk,那么在bash中处理文本文件几乎没有什么是不可能的:) |
mashimena · 如何在Linux中提取列然后通过计算添加新列 1 年前 |
John Smith · 在特定行的末尾添加文本 2 年前 |
nickcrv06 · 使用介于特殊字符之间的awk提取文本 2 年前 |
nickcrv06 · 在两个常量字符串之间提取单词 2 年前 |
JCAvila2 · 我需要了解awk Linux命令的帮助 2 年前 |