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

推荐文章

  • linux搭建gitlab需什么环境

    在Linux上搭建GitLab需要满足一定的系统要求,并遵循一定的安装步骤。以下是详细的指南:
    系统要求 操作系统:Ubuntu 20.04/更高版本,或CentOS 7/更高版本...

  • linux搭建apache如何检测是否成功

    在 Linux 上搭建 Apache 后,可以通过以下几个步骤来检测是否成功: 打开浏览器,输入服务器的 IP 地址或域名。如果 Apache 服务器已成功安装并运行,你将看到 A...

  • linux搭建apache需配置哪些参数

    在Linux系统上搭建Apache服务器时,需要进行一系列的配置以确保其正常运行和提供服务。以下是在Linux上搭建Apache服务器时需要配置的关键参数和步骤:
    安装...

  • linux搭建apache从哪里获取源

    在Linux上搭建Apache HTTP Server,通常推荐从Apache官方网站获取源代码,因为这样可以确保你获得的是最新版本,并且能够享受到官方提供的支持和更新。以下是详细...

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