find . -type"> find . -type">
117.info
人生若只如初见

linux查找替换可否多条件查找

是的,在Linux中,你可以使用find命令结合xargssed命令进行多条件查找和替换

假设你有一个名为file.txt的文件,其中包含以下内容:

apple
banana
orange
grape
watermelon

现在,你想要查找所有包含字母"a"的水果并将它们替换为"fruit"。你可以使用以下命令:

find . -type f -name "*.txt" -exec sh -c 'cat "{}" | sed -i "s/apple/fruit/g; s/banana/fruit/g; s/orange/fruit/g; s/grape/fruit/g; s/watermelon/fruit/g;"' \;

这个命令的解释如下:

  1. find . -type f -name "*.txt":在当前目录及其子目录中查找所有扩展名为.txt的文件。
  2. -exec sh -c '...' \;:对找到的每个文件执行一个shell命令。
  3. cat "{}":将找到的文件内容输出到管道。
  4. | sed -i "s/apple/fruit/g; s/banana/fruit/g; s/orange/fruit/g; s/grape/fruit/g; s/watermelon/fruit/g;"':使用sed命令将所有包含字母"a"的水果替换为"fruit"。
  5. \;:表示-exec选项的结束。

注意:这个命令会直接修改找到的文件。如果你想保留原始文件并将更改保存到一个新文件中,可以这样做:

find . -type f -name "*.txt" -exec sh -c 'cat "{}" | sed -i "s/apple/fruit/g; s/banana/fruit/g; s/orange/fruit/g; s/grape/fruit/g; s/watermelon/fruit/g;"' \; > "new_file.txt"

这将创建一个名为new_file.txt的新文件,其中包含替换后的内容。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe208AzsKAANfDVw.html

推荐文章

  • 怎样用FetchLinux管理Linux服务器

    FetchLinux是一个用于构建和部署Linux发行版的自动化工具,它可以帮助系统管理员自动化许多管理任务,提高工作效率。以下是使用FetchLinux管理Linux服务器的基本...

  • 如何用yum搜索Linux软件资源

    使用yum搜索Linux软件资源的步骤如下:
    在CentOS/RHEL 7及以下版本中 打开终端: 使用快捷键 Ctrl + Alt + T 或者通过开始菜单找到并打开终端。 更新yum缓存...

  • 如何用GIMP进行图像编辑

    GIMP是一款功能强大的开源图像编辑软件,适用于Windows、Mac OS和Linux平台。以下是一些基本的使用步骤和功能介绍:
    安装GIMP 访问GIMP官网:https://www.g...

  • Linux syslog如何提高系统安全性

    Linux syslog是一个用于记录系统日志的守护进程,它可以帮助我们监控和诊断系统问题。通过合理配置和使用syslog,可以提高系统安全性。以下是一些建议: 配置sys...

  • linux查找替换如何统计替换量

    在Linux中,你可以使用sed命令来查找和替换文本
    sed 's/old_text/new_text/g' input_file > output_file 这里,s表示替换操作,old_text是要替换的原始文本...

  • linux查找替换有哪些快捷键

    在Linux中,查找和替换文本通常不直接使用快捷键,而是通过命令行工具来实现。不过,掌握一些常用的文本编辑器快捷键可以提高在Linux环境下的工作效率。以下是一...

  • linux查找替换能否递归查找

    是的,Linux中的find命令可以递归地查找和替换文件中的内容
    find . -type f -name "*.txt" -exec sed -i 's/old_text/new_text/g' {} \; 这个命令的解释如下...

  • linux查找替换对特殊字符处理

    在Linux中,查找和替换文本时,特殊字符可能会导致问题 使用反斜杠(\)进行转义:
    如果你想在查找或替换文本中使用特殊字符,可以在它们前面加上反斜杠(\...