搜索特定的字符串模式并递归地将其替换为小写
我必须在文件中递归搜索包含 Aaa*.c
的字符串并将其替换为 aaa*.c
。
我在一个包含特定模式的目录中有数百个文件(这个 .c 也可以是字符串的扩展名或字符串之间的扩展名),我必须用小写替换这样的字符串
我正在尝试使用 awk '{print tolower($0) 或 tr 但无法搜索特定模式并在此处应用。
谢谢
I have to search for the string which contains Aaa*.c
and replace it with aaa*.c
in a file recursively.
I have hundreds of files in a directory which contains the specific pattern (this .c can be an extension to the string or in between the string too) and i have to replace such string in lower case
I am trying to use awk '{print tolower($0) or tr but could not search for a specific pattern and apply here.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
由于您将 Perl 放入标签列表中,因此这里有一个 Perl 解决方案
如果您想就地编辑文件(并丢失原始文件)
要重命名当前目录中的所有 *.c 文件,请写入
要递归地执行此操作子目录,执行此操作
Since you put Perl in the list of tags, here is a Perl solution
If you want to edit the file in-place (and lose the original)
To rename all *.c files in the current directory, write
To do this recursively through all subdirectories, do this
您可以使用 sed 来实现此目的。
输出:
You can use sed for this.
Output:
此处,如果脚本将使用现有文件创建新文件,但带有 *.c 的文件将替换为小写字母。
请告诉我上述内容是否符合您的需求。
here if script will create new file with existing file but the files with *.c will be replaced with lowercase leteters.
let me know if above is correct to your needs.
这可能对你有用:
This might work for you:
听起来您几乎想重命名文件。如果是这样,您可以按如下方式执行:
或者仅使用 Perl,
It almost sounds like you want to rename files. If so, you could do it as follows:
Or using just Perl,