首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Unix Shell脚本在子文件夹中的特定文件中查找和替换字符串

在Unix Shell脚本中,可以使用findsed命令来在子文件夹中的特定文件中查找和替换字符串。以下是一个示例脚本:

代码语言:bash
复制
#!/bin/bash

# 设置搜索的目录和文件类型
search_dir="./"
file_type="*.txt"

# 设置要查找和替换的字符串
find_str="old_string"
replace_str="new_string"

# 使用find命令在指定目录下查找特定文件类型的文件,并使用sed命令执行查找和替换操作
find "$search_dir" -type f -name "$file_type" -exec sed -i "s/${find_str}/${replace_str}/g" {} \;

在这个脚本中,我们首先设置了搜索的目录(search_dir)和文件类型(file_type),然后设置了要查找和替换的字符串(find_strreplace_str)。接下来,我们使用find命令在指定目录下查找特定文件类型的文件,并使用sed命令执行查找和替换操作。

注意:这个脚本会直接修改找到的文件,请谨慎使用。在实际使用中,建议先在测试环境中进行测试。

推荐的腾讯云相关产品:

这些产品都可以帮助用户更好地管理和部署Unix Shell脚本,以实现在子文件夹中的特定文件中查找和替换字符串的需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

vimvi查找替换字符串

Vim是最受欢迎命令行文本编辑器。它预装在macOS大多数Linux发行版上。Vim查找替换文本非常容易。...基本查找替换 Vim,可以使用:substitute(:s)命令来查找替换文本。 要在Vim运行命令,必须处于normal模式,这是启动编辑器时默认模式。...例如,要在当前行搜索字符串 foo第一个匹配项,并将其替换为 bar,则可以使用: :s/foo/bar/ 要替换当前行中所有出现搜索模式,请添加g标志: :s/foo/bar/g 如果要搜索并替换整个文件所有匹配模式...当你搜索模式包含 /字符或替换字符串时,此选项很有用。...例如,要从当前行接下来四行开始,用 bar替换每个 foo,请输入: :.,+4s/foo/bar/g 替换整个单词 替代命令将模式查找字符串,而不是整个单词。

13.6K21
  • 关于vim查找替换

    1,查找 normal模式下按下/即可进入查找模式,输入要查找字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。...2,大小写敏感查找 查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如: /foo\c 将会查找所有的"foo","FOO","Foo"等字符串。...例如当前为foo, 可以匹配foo barfoo,但不可匹配foobarfoo。 这在查找函数名、变量名时非常有用。 按下g*即可查找光标所在单词字符序列,每次出现前后字符无要求。...即foo barfoobarfoo均可被匹配到。 5,查找替换 :s(substitute)命令用来查找替换字符串。...还有很多其他有用替换标志: 空替换标志表示只替换从光标位置开始,目标的第一次出现: :%s/foo/bar i表示大小写不敏感查找,I表示大小写敏感: :%s/foo/bar/i # 等效于模式\

    23.7K40

    Java字符串查找匹配字符串

    示例: 字符串“You may be out of my sight, but never out of my mind.”查找“my”个数。...该方法作用就像是使用给定表达式限制参数 0 来调用两参数 split 方法。因此,所得数组不包括结尾空字符串。...完整代码: import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 字符串查找匹配字符串...* author:大能豆 QQ:1023507448 * case : * 源字符串:You may be out of my sight, but never out of my mind. * 要查找字符串...} System.out.println("匹配个数为" + count); //结果输出 } //方法3、通过split方法,但此方法需考虑字符串是否是末尾,若在末尾则不需要

    7.1K20

    Shell脚本逐行读取文件命令方法

    方法一、使用输入重定向 逐行读取文件最简单方法是while循环中使用输入重定向。...- 开始while循环,并在变量“rows”中保存每一行内容 - 使用echo显示输出内容,$rows变量为文本文件每行内容 - 使用echo显示输出内容,输出内容包括自定义字符串变量,$rows...- 使用echo显示输出内容,输出内容包括自定义字符串变量,$rows变量为文本文件每行内容 Tips:可以将上面的脚本缩减为一行命令,如下: [root@localhost ~]# cat mycontent.txt...|while read rows;do echo "Line contents are : $rows";done 方法三、使用传入文件名作为参数 第三种方法将通过添加$1参数,执行脚本时,脚本后面追加文本文件名称...,通过单独读取行,可以帮助搜索文件字符串

    8.9K21

    VBA实用小程序72:遍历文件夹文件夹文件

    很多时候,我们都想要遍历文件夹每个文件,例如在工作表列出所有文件名、对每个文件进行修改。VBA给我们提供了一些方式:(1)Dir函数;(2)File System Object。...它可能会导致代码速度变慢,但运行时错误应该更少。 早期绑定 VBE编辑器,单击“工具——引用”。...图1 后期绑定 后期绑定不需要任何特定操作来启用FSO库,确保VBA代码需要时打开库。 遍历文件夹中所有文件 下面的示例代码将文件名打印到立即窗口,很容易修改这些代码以更适合你具体情况。...当文件存储文件夹时,可能就需要一些技巧了。...现在需要找到一种方法来钻取到这些文件夹。我们将使用上述相同DirFSO方法。为了确保这些代码可以处理任意数量文件夹,宏实际上会调用自身(一种称为递归技术)。

    10.3K30

    C#如何遍历某个文件夹所有文件文件夹(循环递归遍历多层),得到所有的文件名,存储在数组列表

    首先是有一个已知路径,现在要遍历该路径下所有文件文件夹,因此定义了一个列表,用于存放遍历到文件名。...递归遍历如下:将已知路径列表数组作为参数传递, public void Director(string dir,List list) { DirectoryInfo d...d.GetDirectories();//文件夹 foreach (FileInfo f in files) { list.Add(f.Name);//添加文件名到列表...} //获取文件夹文件列表,递归遍历 foreach (DirectoryInfo dd in directs) {...Director(dd.FullName, list); } } 这样就得到了一个列表,其中存储了所有的文件名,如果要对某一个文件进行操作,可以循环查找: foreach (string

    14K40

    Linux批量替换某种类型文件字符串-sedgrep命令使用

    今天修改rpm打包spec配置文件时,遇到一个问题就是:需要将100个左右源代码spec配置文件Release一行发布版本号使用宏变量%{_release}进行替换。    ...Linux下批量替换多个文件字符串简单方法。 用sed命令可以批量替换多个文件字符串。.../g" 'grep mahuinan -rl /www' 这是目前linux最简单批量替换字符串命令了!...大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa` sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./` 参考了这两篇文章: 1、Linux批量替换多个文件字符串...Linux批量替换多个文件字符串 2、Linux shell 批量替换多个文件字符串 Linux shell 批量替换多个文件字符串 接 3、SED与AWK学习笔记 SED与AWK学习笔记

    5.6K20

    Linux下常用shell脚本整理

    if后面的命令通常是测试命令,但也可以是其它命令。Shell脚本没有{}括号,所以用fi表示if语句块结束。   "2.sh"脚本,传递参数   Shell代码   1.   2. #!...29. fi   19、查看文件夹下所有文件数目所有文件夹数目   Shell代码   1. #!/bin/bash   2. #查看当前文件夹下所有文件数目   3. find ....b.log   22、批量替换多个文件字符串   Shell代码   1. sed -i "s///g" `grep -rl `   备注:   -...并发送短信邮件报告~   -t1 表示只请求一次   -T2 表示2秒超时 26、linux查找文件一些方法   1) 按文件查找   #/opt目录及其子目录下查找包含文件名是以zhjedu...d   #/opt目录及其子目录下查找所有的普通文件   find /opt -type f   4) 按大小查找   #/opt目录及其子目录下查找文件大于10M文件   find /opt

    4.1K40

    日拱一卒,麻省理工教你CS基础,那些酷炫无比命令行工具

    shell函数脚本存在一些差异,你需要牢牢记住: shell函数需要是相同语言编写,而脚本可以是任何语言写。...所有类Unix系统都提供了find命令,它是一个查找文件非常好用工具。find将会递归式地根据一些标准查找匹配文件,一些例子: 除了列出文件之外,find命令还可以根据你查询执行一些操作。...比如我们可能会希望搜索所有包含了某个特定pattern文件,以及这些pattern出现位置。为了实现这一点,大多数类Unix系统提供了grep工具,它可以从输入文本中进行模式匹配。...查找shell命令 现在我们已经研究了怎么查找文件代码,当你shell花费更多时间时候,你可能会希望你能在某些时刻找到一些特定命令。...这也可以zsh设置成使用上下箭头。 我们也可以将Ctrl + R结果fzf绑定,fzf是一个通用模糊查找器,它可以许多命令一起使用。

    1.6K40

    shell脚本语言(超全超详细)

    案例:求最值 案例:函数分文件 1、shell概述 shell 是一种脚本语言 脚本:本质是一个文件文件里面存放特定格式指令,系统可以使用脚本解析器 翻译或解析 指令 并执行.../xxx.sh 或 bash xxx.sh)时会创建一个shell解析 脚本 注意:windows下 写脚本 linux下执行 注意 执行结果: 将windows文件 转换成...unix文件 方法一:dos2unix 如果没有该插件 需要安装 sudo apt-get install dos2unix dos2unix shell脚本 转换成功就可以执行运行 方法二:...这样如果把设置环境变量(或alias等等)命令写进scripts,就只会影响shell,无法改变当前BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。...()由shell 完成 {}由当前shell执行 6、变量扩展 6.1、判断变量是否存在 6.2、字符串操作 7、条件测试 test命令:用于测试字符串文件状态和数字 test

    2.6K20

    【Linux】BASH基本攻略,分分钟PK掉黑客达人

    用户可以直接输入命令,也可以从称为名为shell脚本shell程序文件读取。 Shell types UNIX系统通常提供多种shell类型。...目录类似于文件夹,但在Shell,称为目录。UNIX文件层次结构呈树状。要访问特定文件夹文件,需要穿过树结构某些特定路径。路径需借助斜杠(/)字符分隔上述结构每个节点。...Parameters 与Ls命令一起使用时,参数选项会开启部分特殊功能。 · ls:查看特定文件夹内容。 · ls-a:用于列出文件夹所有隐藏文件。...用户需要指定想要移动内容,即源想要移动位置,即目的地。 演示文件夹创建一个名为PythonFiles新目录,并使用上述两个命令将Demo文件夹所有.py文件移入其中。...· Grep(全称:global regular expression print)搜索具有给定字符串行或查找指定输入流模式。以下命令将读取所有文件并输出包含单词“Tom”所有行。

    2.5K30

    shell 脚本语法

    概述 shell 是一种脚本语言 脚本:本质是一个文件文件里面存放特定格式指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译),是链接系统内核用户沟通渠道之一 shell...脚本 Linux 运行 Win脚本Linux执行会报错,由于换行符定义不同,需要将windows文件 转换成 unix文件 可以使用 dos2unix 插件调整脚本 sudo apt-get install...'' 单引号 包含变量会当做字符串 `(数字键1左面的反引号) 反引号内容作为系统命令,并执行其内容,可以替换输出为一个变量 \ 转义字符 \n \t \r \a等 echo 命令需加转义并配上...-e 参数 (命令序列) 由shel来完成,不影响当前shel变量 {命令序列} 在当前 shell E执行,会影响当前变量 变量扩展 判断变量是否存在 ${num:-val}...使用参数同在一般脚本中使用参数时相同, 1, 2, 可以使用 return 返回值 默认无错误返回 0 ,否则返回 1 导入函数 fun.sh 定义函数可以在其他sh文件引用: source

    1.7K30

    一文掌握shell脚本基本语法

    所有笔记内容均可通过 cmd --help 查看具体用法 01. shell概述 shell,每个脚本开头都使用 #!...02. shell特殊字符 特殊字符 功能 说明 注意 # 1.注释 2.声明命令解释器类型 3.某些特定模式匹配操作使用 1.注释方面:一般是行首以 #作为开头 2.声明解释器类型一般是脚本第一行...length长度字串 7.4 串截除 [串截除.png] 7.5 替换 [替换.png] 7.5 8....I/O重定向 该部分不谈基本原理具体实现,具体可查看 csapp Linux内核fd内容分析 shell脚本(Linux中保存log等操作也是如此),常用I/O重定向相关文件描述符(file...13.1 正则表达式组成 正则表达式由普通字符元字符(也称为通配符)组成集合,用来查找匹配特定规则字符文本。

    4K01

    【Linux】《how linux work》第十一章 Shell 脚本简介

    在运行命令之前,shell查找变量、通配符其他替换,并执行替换(如果有的话)。 shell替换结果传递给命令。...命令替换很容易过度使用。 例如,脚本不要使用$(ls),因为使用shell来展开*会更快。...它执行了你第1章学习过exec()系统调用。这个功能旨在节省系统资源,但请记住,它没有返回值; 当你一个Shell脚本运行exec时,脚本运行脚本Shell都会被替换为新命令。...下面的示例使用 tar 将 orig 整个目录树存档,然后将存档解压到新目录 target ,这实际上是复制 orig 文件文件夹(这很有用,因为它保留了所有权权限,而且通常比使用 cp...然而,某个特定点上(尤其是当你开始使用read内置命令时),你必须问自己是否仍然使用正确工具来完成工作。 记住shell脚本最擅长是处理简单文件命令。

    13810

    shell编程知识点集锦

    使用过程,我们会看到有人用双引号将带待查找模式包围,也有人用单引号将带待查找模式包围,再使用字符串时候,也有些人既不用单引号也不用双引号。那么单引号双引号区别是什么呢?...这里与其说grep双引号单引号区别,不如说是shell单引号双引号使用区别,因为使用grep进行模式查找时,还是由shell来启动grep进行字符串查找shell是所有linux命令解析器...对shell来说,它们有特殊意义,除了单引号双引号是本人讨论重点,其它三位作用这里举例简要说明它们作用。 反引号(`):shell起到命令替换作用。...但是使用sh命令则会开启新shell进程来执行指定脚本,这样的话,父进程变量进程中就无法访问。参考如下代码: first.sh内容如下,访问了second.sh变量second。...6.shell$()、反引号${}区别 $()反引号“作用相同,用于命令替换(command substitution),即完成引号里命令行,将其结果替换出来,与变量替换差不多。

    1.5K10

    Linux下常见权限维持方式

    排查技巧: # Linux查找SUID设置文件find . -perm /4000# Linux查找使用SGID设置文件find ....进入/root/.ssh/文件夹,查看文件夹内容,如下所示: ? 其中 id_rsa为私钥,id_rsa.pub为公钥,接下来打开id_rsa.pub,将内容复制到服务器。...7、crontab反弹shell crontab命令用于设置周期性被执行指令。新建shell脚本,利用脚本进行反弹。 a、创建shell脚本,例如在/etc/evil.sh #!...利用方法: 1、获取目标系统所使用PAM版本,下载对应版本pam版本2、解压缩,修改pam_unix_auth.c文件,添加万能密码3、编译安装PAM4、编译完后文件:modules/pam_unix.../.libs/pam_unix.so,复制到/lib64/security中进行替换,即可使用万能密码登陆,并将用户名密码记录到文件

    2.4K20
    领券