递归读取文件夹并对每个文件夹执行命令

2024-02-22

我试图递归到文件夹,然后使用 bash 脚本在它们上运行命令。有什么建议么?


如果您想递归到目录,对其中找到的每个文件执行命令,我会使用find我认为,命令,而不是使用 shell 脚本编写任何内容。

该命令可以接收很多参数,例如type过滤返回的文件类型,或者exec对每个结果执行命令。


例如,要查找我当前所在目录下的目录:

find . -type d -exec echo "Hello, '{}'" \;

这会让我得到类似的东西:

Hello, '.'
Hello, './.libs'
Hello, './include'
Hello, './autom4te.cache'
Hello, './build'
Hello, './modules'


同样查找当前目录下的文件:

find . -type f -exec echo "Hello, '{}'" \;

这会让我得到这样的东西:

Hello, './config.guess'
Hello, './config.sub'
Hello, './.libs/memcache_session.o'
Hello, './.libs/memcache_standard_hash.o'
Hello, './.libs/memcache_consistent_hash.o'
Hello, './.libs/memcache.so'
Hello, './.libs/memcache.lai'
Hello, './.libs/memcache.o'
Hello, './.libs/memcache_queue.o'
Hello, './install-sh'
Hello, './config.h.in'
Hello, './php_memcache.h'
...


有人会说“这不是 shell”...但是为什么要重新发明轮子呢?
(并且,在某种程度上,它是外壳^^)


欲了解更多信息,您可以查看:

  • man find
  • 谷歌找到了很多教程,例如,Unix 查找命令教程 http://www.softpanorama.org/Tools/Find/find_mini_tutorial.shtml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

递归读取文件夹并对每个文件夹执行命令 的相关文章

  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin
  • Ansible - 当至少一项在循环中失败时跳过任务

    我正在使用 sqlplus 运行一些 SQL 脚本 在运行之前 我从该目录获取所有 sql 文件列表并将其存储在sql out如下所示 问题是 如果其中一个 sql 脚本失败 其余 sql 脚本仍然会执行 如果任何一个脚本失败 我想完全跳过
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何通过 makefile 在 Linux 上安装程序? [复制]

    这个问题在这里已经有答案了 可能的重复 Linux Unix make install 应该包含什么 https stackoverflow com questions 528399 what should linux unix make
  • sed 替换为多行变量[重复]

    这个问题在这里已经有答案了 我正在尝试用跨多行的文本替换单词 我知道我可以简单地使用换行符 n 来解决这个问题 但我想保持字符串 干净 不包含任何不需要的格式 下面的例子显然是行不通的 read r d TEST lt
  • 在Java中执行.lnk文件

    我需要在java中执行 lnk文件 指向exe文件的lnk文件 我能怎么做 在 VB net 中我做 Process Start path 它有效 谢谢你的帮助 Use a 流程构建器 http download oracle com ja
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • system 和 shell_exec 之间的区别

    有什么区别shell exec and systemPHP 中的方法 两者都采用单个命令行参数并在 PHP 中运行 使用其中一种比另一种更好吗 请参阅此处的解释 http chipmunkninja com Program Executio
  • Bash:将字符串添加到文件末尾而不换行

    如何将字符串添加到文件末尾而不换行 例如 如果我使用 gt gt 它将添加到文件末尾并换行 cat list txt yourText1 root host 37 echo yourText2 gt gt list txt root hos
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • 如何使用 Bash 编写二进制文件?

    我的问题是我需要创建一个包含以下确切字节的文件 48 00 49 00 我不能使用C perl 其他脚本语言 目标是嵌入式设备 我使用 awk 尝试过 在桌面上它确实有效 awk BEGIN printf c c c c 48 00 49
  • 退出代码大于 255 — 可能吗?

    如果是 在哪个操作系统 shell 或其他操作系统上 考虑以下 Java 程序 我使用 Java 只是作为示例 任何语言都适合这个问题 这更多地与操作系统有关 public class ExitCode public static void
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • awk 脚本中出现“BEGIN 块必须有操作部分”错误

    这是我的代码 bin sh filename usr bin find name INSTANCE log echo filename is filename awk BEGIN print Processing file filename
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • Bash 中所有匹配的^单词^替换^?

    为了澄清 我正在寻找一种方法来执行global搜索并替换先前使用的命令 word replacement 似乎只替换了第一场比赛 有没有一些set我无法选择的选项 尝试这个 echo oneone oneone gs one two Rep
  • 在 Bash Linux 中,如果给定进程运行时间超过指定时间,如何获取通知?

    我一切顺利 我的程序在大约 N 秒内完成 maybe deadlock 但有时会随机发生死锁 导致程序永远挂起 为了调试这个 我想按照以下方式运行该程序 如何调试罕见的死锁 https stackoverflow com questions
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • bash 子 shell 中出现陷阱“kill 0”的分段错误

    我正在尝试编写一个并行构建多个 Dockerfile 的小脚本 但是如果我想取消该脚本 我也想杀死子进程 这样做的结果是segmentation fault 不知道为什么 为了澄清我正在杀死脚本 C trap kill 0 SIGINT S

随机推荐

  • MySQL Workbench 无法在 Windows 上打开

    我已经下载了 Workbench 的免安装便携式版本 当我运行 exe 文件 在 Windows XP 上 时 没有任何反应 它需要运行一些 MySQL 吗 我认为它是独立的 对吗 我有 MySQL 的 XAMPP 有什么依赖性等吗 您需要
  • Python:tkinter 上的 Z 索引

    是否存在一种方法来指定 Tkinter 画布元素的深度 例如 HTML 的 z index 目前 我发现让元素按照我想要的方式重叠的唯一方法是按特定顺序创建它 问题是某些元素必须在其他元素之后创建 但它们也应该具有较低的 z index 先
  • 重新安装节点后:“找不到模块‘internal/util/types’”

    因此 几个月前我从计算机中删除了节点 我认为主要是 今天我重新安装了它 Node 工作正常 但是当我尝试测试 npm 时 我收到以下消息 npm module js 549 throw err Error Cannot find modul
  • 在 Java 中操作和存储日期的最佳实践是什么? [复制]

    这个问题在这里已经有答案了 操作和存储日期的最佳实践是什么 例如在企业 Java 应用程序中使用 GregorianCalendar 寻求反馈 我会将任何好的答案整合为其他人可以使用的最佳实践 最佳实践通常是准确的NOT考虑重日期对象 但存
  • Spring Security:多个 HTTP 配置不起作用

    我正在尝试使用 Spring Security 并且有一个用例 我希望不同的登录页面和不同的 URL 集得到保护 这是我的配置 Configuration Order 1 public static class ProviderSecuri
  • 如何解决 CALayer 支持的文本中文本渲染不佳的问题

    我有一些可变文本NSTextField呈现在CALayer背景视图 作为一个CALayer不支持其上任何文本的文本渲染的子像素别名 该文本看起来很垃圾 一些谷歌搜索揭示了其原因 并且文本必须渲染到不透明背景上才能启用 SPA 在这种情况下
  • 在 PHP 中发送 HTTP 响应代码的最佳方法

    通过阅读 php 规范和 Stack Overflow 上的其他问题 我可以看到从 PHP 发送 HTTP 响应代码的三种方法 header HTTP 1 0 404 Not Found A B C header false 404 C D
  • JavaScript 有时在 android 的 webview 中不起作用

    我在我的应用程序中放置了一个 webview 来访问包含一些 JavaScript 函数的网页 我的目的是当用户单击网页中的链接时 它将在应用程序中启动一个新的活动 我写了 webSettings setJavaScriptEnabled
  • 如何在实际示例中使用 javascript 模块模式?

    我正在尝试理解 JavaScript 模块模式 我已经看过它应该是什么样子的示例 但我不明白如何使用它 例如 这里发生了一些事情 input share on click function loading html img class re
  • 无论大小如何,如何使项目保持在屏幕中央? [复制]

    这个问题在这里已经有答案了 我试图使这些框在屏幕上水平居中 无论视口的面积是多少 但我似乎无法做到这一点 如果有人可以提供帮助 我将不胜感激 div class jobFields div class field 1 div div cla
  • AngularJS - 触发控制器时获取先前的路线

    Angular 的内部结构再次让我困惑 我需要在加载特定视图时确定之前的路线 我就是这样做的 app controller TrashCtrl function scope rootScope rootScope on locationCh
  • 使用 Winsock 通过单个 UDP 服务器处理 10 个客户端

    我已经使用 UDP 套接字建立了一个服务器 客户端应用程序 但我的服务器无法一次处理多个客户端 现在我想修改我的应用程序 让 10 个客户端分别运行在不同的计算机上 而我的服务器运行在单独的计算机上 我希望我的服务器能够与 10 个不同机器
  • jquery.ui.touch.punch.js 脚本阻止触摸设备上的输入功能

    我花了一点时间 但我发现我无法单击我的输入 因为我使用 touch punch 脚本在触摸设备上启用 jquery UI 拖动功能 熟悉这个脚本的人知道为什么会这样吗 该表单实际上位于父对象的树中 有谁知道我可以覆盖或强制选择的方法吗 我现
  • 如何通过URL获取RouteData?

    我需要得到RoutData通过 ASP NET MVC 应用程序中给定的 URL 字符串 我找到了我需要嘲笑的方式HttpContextBase基于我的 URL 字符串 然后将其传递给RouteTable Routes GetRouteDa
  • IEEE 754 浮点除法的可逆性

    IEEE 754 浮点除法的可逆性是什么 我的意思是标准是否保证如果double y 1 0 x then x 1 0 y i e x可以一点一点精确还原吗 时的情况y is infinity or NaN都是明显的例外 是的 有 IEEE
  • Delphi 6 表单设置为使用 poDesktopCenter 定位自身,最终出现在“扩展”监视器上

    我有一个 Delphi 6 应用程序 它在主窗体出现后启动向导 向导是一种模态形式 我的一位用户将其 Windows 桌面扩展到了多个显示器 在这种情况下 主窗体显示在主监视器上 向导显示在扩展监视器上 这会造成混乱 因为当他们尝试单击主窗
  • 为什么要将 NSObject 协议附加到协议实现中

    我看到一些类似于以下内容的代码 protocol MyProtocol
  • 如何查找数据框中各组之间共享的值? [复制]

    这个问题在这里已经有答案了 我有一个整洁的 data frame 有两列 exp and val 我想找出哪些值val在所有不同的实验之间共享 df lt data frame exp c A A A A B B B B C C C C v
  • 找不到符号类“Builder”

    我最近下载了Android Studio 我认为它比eclipse 我创建了一个新项目 其中包含登录活动 但该活动似乎有错误 在此处输入图像描述 1 Error 78 31 error cannot find symbol class Bu
  • 递归读取文件夹并对每个文件夹执行命令

    我试图递归到文件夹 然后使用 bash 脚本在它们上运行命令 有什么建议么 如果您想递归到目录 对其中找到的每个文件执行命令 我会使用find我认为 命令 而不是使用 shell 脚本编写任何内容 该命令可以接收很多参数 例如type过滤返