Bash:如何遍历目录结构并执行命令?

2023-11-25

我已将一个大文本文件拆分为许多较小的文件集,以进行我正在进行的性能测试。有很多这样的目录:

/home/brianly/output-02 (contains 2 files myfile.chunk.00 and myfile.chunk.01)
/home/brianly/output-04 (contains 4 files...)
/home/brianly/output-06 (contains 6 files...)

值得注意的是,每个目录中的文件数量不断增加。我需要做的是针对输出目录中的每个文本文件运行可执行文件。针对单个文件的命令看起来像这样:

./myexecutable -i /home/brianly/output-02/myfile.chunk.00 -o /home/brianly/output-02/myfile.chunk.00.processed

这里的-i参数是输入文件,-o参数是输出位置。

在 C# 中,我将循环遍历目录获取每个文件夹中的文件列表,然后循环遍历它们以运行命令行。如何使用 bash 遍历这样的目录结构,并根据位置和该位置中的文件使用正确的参数执行命令?


对于这种事情我总是使用find和...一起xargs:

$ find output-* -name "*.chunk.??" | xargs -I{} ./myexecutable -i {} -o {}.processed

现在,由于您的脚本一次仅处理一个文件,因此使用-exec (or -execdir)直接与find正如已经建议的那样,同样有效,但我习惯使用xargs,因为当提供一次对多个参数进行操作的命令时,这通常会更有效。因此,它是一个非常有用的工具,可以放在腰带上,所以我认为应该提及它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash:如何遍历目录结构并执行命令? 的相关文章

  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • BASH 中的空函数

    我正在使用 FPM 工具创建 deb 包 此工具在从支持的文件中删除包之前 之后创建 不幸的是FPM生成的bash脚本包含这样的函数 dummy 该脚本退出时出现错误 语法错误 意外 BASH 不允许空函数吗 哪个版本的 bash linu
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • Bash 的源命令无法处理从互联网上卷曲的文件

    我正在尝试使用curl从互联网获取脚本文件 如下所示 source lt curl url echo done 我看到的是 完成 得到了回响before卷曲甚至开始下载文件 这是实际的命令和输出 bash 3 2 source lt cur
  • 命令中的 Bash 变量扩展[重复]

    这个问题在这里已经有答案了 DATE 1 week ago date date DATE 不起作用 我怎样才能让它发挥作用 我可以做 DATE CMD date date DATE eval DATE CMD 但我不想将整个命令存储在变量中
  • 当在 python linux 中执行命令 os.system() 时,在 python 中给出响应 yes/no

    考虑一个像这样的命令 yum install boto 当我在终端中执行时 要继续 会询问我是 否 我可以像这样用 python 回应它吗 os system yum install boto Next Yes 将通过相同的 python
  • 无法连接到 Azure Ubuntu VM - 公钥被拒绝

    我们在 Azure 上使用 Ubuntu VM 一段时间了 很少遇到任何问题 然而 其中一台虚拟机最近出现了问题 出乎意料的是 Ubuntu VM 开始拒绝公钥 ssh i azure key email protected cdn cgi
  • 混合语言源目录布局

    我们正在运行一个使用多种不同语言的大型项目 Java Python PHP SQL 和 Perl 到目前为止 人们一直在自己的私有存储库中工作 但现在我们希望将整个项目合并到一个存储库中 现在的问题是 目录结构应该是什么样的 我们应该为每种
  • grep 彩色线条

    我编写了一个简单的 PHP shell 脚本 它解析文件并输出某些元素 它产生大量的输出 采用不同的 bash 颜色 绿色表示正常 黄色表示警告 红色表示错误等 在开发过程中我想过滤掉一些行 例如 所有包含红色文本的行 我可以使用grep
  • 将目录添加到path环境变量

    我的要求是将目录之一添加到path安装我的应用程序时 Windows 中的环境变量并将其删除path使用批处理文件卸载时的环境变量 在与此相关的 stackoverflow 答案之一中 建议将目录添加到路径环境变量中 setx path C
  • Linux 中的 Windows NAmed Pipes 替代品

    我们正在将现有的 Windows 代码移植到 Linux 我们使用 ACE 作为抽象层 我们使用 Windows 命名管道与多个客户端进行通信并执行重叠操作 linux 下这个相当于什么 我检查了linux命名管道 FIFO 但它们似乎只支
  • 用于 e NetworkManager VPN 连接的 dbus 信号处理程序

    我需要开发一些在建立 VPN 连接时执行的 python 代码 VPN 由 NetworkManager 控制 我试图弄清楚如何为此使用 NM DBUS 事件 使用 dbus monitor system 我能够识别连接信号 signal
  • Bash 目录上的 For 循环

    快速背景 ls src file1 file2 dir1 dir2 dir3 Script bin bash for i in src do if d i then echo i fi done Output src dir1 src di
  • 使用 Python 将阿拉伯语或任何从右到左书写系统的字符串打印到 Linux 终端

    非常简单的例子是 city print city 我期望输出是 但实际上输出是相反的字符串 字母看起来有点不同 因为它们有开始 中间和结束形式 我无法将其粘贴到此处 因为复制粘贴会再次更正字符串的顺序 如何在 Linux 终端上正确打印阿拉
  • 打印 STDOUT/STDERR 并将它们写入 Bash 中的文件?

    有没有办法让 Bash 将 STDOUT STDERR 重定向到文件 但仍然将它们打印到终端 这会将 STDOUT 和 STDERR 重定向到同一个文件 some command 2 gt 1 tee file log Example to
  • EULA 接受 Bash 脚本

    我有一个尝试安装垃圾箱的脚本 除了 bin 在 more 中打开 EULA 之外 一切正常 在脚本再次开始并自行完成安装之前 您必须手动 ctrl c 退出此 more 实例 因为这更多的是逃离 shell 所以脚本在打开后不知道要运行什么
  • rsync --include 选项不排除其他文件

    尝试rsync某些扩展名 sh 的文件 但下面的bash脚本仍然传输所有文件 为什么 from home xxx rsync zvr include sh from root host home tmp 您需要添加 exclude all
  • 如何使用 PyAudio 选择特定的输入设备

    通过 PyAudio 录制音频时 如何指定要使用的确切输入设备 我的电脑有两个麦克风 一个内置 一个通过 USB 我想使用 USB 麦克风进行录音 这流类 https people csail mit edu hubert pyaudio
  • 如何使用 bash 脚本通过 tar 备份文件系统?

    我想备份我的 ubuntu 文件系统 我写了这个小脚本 这是非常基本的 但这是我第一次尝试 我害怕犯错误 由于需要几个小时才能完成才能看到结果 因此我认为最好向经验丰富的程序员询问我是否做错了什么 我特别感兴趣 gt 会记录输出mv或者它也

随机推荐

  • HighCharts.js 在 IE8 下不渲染图表

    我将 HighCharts 与 Python 一起使用来动态创建图表 一切正常 但是我得到cannot read property 0 of undefinedIE8下例外 不幸的是我的客户希望它也能在 IE8 下工作 所以这是 main
  • 软键盘不出现

    我正在 android 4 0 4 Samsung Galaxy duo 上测试我的应用程序 问题是如果我设置 android textIsSelectable true 尽管键盘出现在模拟器上 但它没有出现 有什么建议么 这是我的Edit
  • 如何有效地将BitSet转换为二进制字符串?

    我正在寻找一种有效的方法来轻松转换BitSet为二进制字符串 假设它的通常长度为数千位 例如 让我们这样 BitSet bits new BitSet 8 bits set 1 bits set 3 这是期望的结果 String resul
  • .NET 中的线程池和 .IsBackground

    MSDN 以及许多其他来源都声称线程池中的工作线程始终是后台的 线程池线程是后台线程 MSDN 池线程始终是后台线程 C 中的线程 Joseph Albahari 我可以通过设置轻松使工作线程成为非后台 Thread CurrentThre
  • React + Webpack 字符编码问题

    我目前正在使用 ReactJS 和 webpack 来构建一个网站 我的文本编辑器已设置为ISO 8859 15编码 我使用重音或特殊字符 例如 在我的 html 页面中 我相信我使用了正确的配置 但特殊字符没有以正确的方式呈现 Fran
  • SemiFixed:“生产”环境缺少“secret_key_base”

    我从头开始创建了一个 Rails 应用程序 Rails 4 1 0 但遇到了一个无法解决的问题 我已经安装并配置了 Apache Passenger Module 它工作正常 每当我尝试访问虚拟主机时 都会收到错误 500 Missing
  • 无法解析 Android 应用程序模块的 Gradle 配置

    我想使用 firebase 数据库 但是当我单击 连接到 firebase 按钮时 我遇到了这个问题 谁能帮我 Could not parse the Android Application Module s Gradle config R
  • 理解 [ClassOne, ClassTwo].each(&:my_method) [重复]

    这个问题在这里已经有答案了 可能的重复 我在观看 Railscast 时看到了这段代码 Category Product delete all 关于清除数据库 我询问了 IRC 中的线路 并被告知 delete all 是一个捷径 mode
  • Spring Boot:如何向嵌入式tomcat添加另一个WAR文件?

    Spring Boot 的嵌入式 tomcat 对于开发和部署来说都非常方便 但是 如果应添加另一个 第 3 方 WAR 文件 例如 GeoServer 怎么办 也许以下是正常的程序 安装普通的 Tomcat 服务器 将 Spring Bo
  • IntelliJ 中找不到 Maven 插件

    IntelliJ从版本12更新到13后 无法解析以下Maven相关插件 org apache maven plugins maven clean plugin 2 4 1 org apache maven plugins maven dep
  • 如何在 LINQ 中更新单个列而不加载整行?

    在 LinqToSql 中 加载行 更改列并将更改提交到数据库非常简单 using MyDataContext wdc new MyDataContext Article article wdc Article First p gt p I
  • C++:以非独占模式打开文件

    我必须开发一个应用程序来解析日志文件并将特定数据发送到服务器 它必须在 Linux 和 Windows 上运行 当我想测试日志滚动系统 它将 1 附加到名称后会创建一个同名的新系统 时 就会出现问题 在 Windows 上 尚未在 Linu
  • angular.module第二个参数“requires”的含义

    回想一下方法签名角度模块 如果第二个参数 requires提供后 我们将创建一个新模块 而不是检索现有模块 从我见过的所有文档和示例来看 该参数在使用时始终传递一个空数组 我的问题是 是requires除了告诉 Angular 创建一个新模
  • 在本地主机中加载时,浏览器会自动滚动到页面底部

    这是我见过的最奇怪的问题 我正在使用 Visual Studio Enterprise 2015 版本 14 0 25425 01 Update 3 并开发 NET Web 应用程序 今天 当我午餐时使用一个网络应用程序时 页面完全加载后
  • 如何从 Windows 服务调用 Web API

    我有一个用 Windows 服务编写的应用程序 该应用程序需要调用用 Asp Net MVC 4 WebAPi 编写的 WebAPI WebAPI 中的此方法返回一个原始类型的 DTO 如下所示 class ImportResultDTO
  • 如何比较 Amazon S3 对象的版本?

    Amazon S3 存储桶的版本控制很好 但我没有看到任何比较文件版本的简单方法 无论是通过控制台还是通过我找到的任何其他应用程序 S3Browser 似乎具有最好的版本控制支持 但没有比较 有没有一种方法可以比较 S3 上文件的版本 而无
  • C# foreach 中的排序

    我是 MVC C 新手 这是一个准备好的工作代码 工作代码的一部分 foreach var item in Model div style height 200px Html Raw item Description div 问题是描述没有
  • Jquery表单提交验证

    我有以下表格
  • Cygwin 中的正确路径用法:`python c:\somefile.py` 和 `python /cygdrive/c/somefile.py` 之间的差异

    我在 Windows Cygwin 上使用 Django 1 5 和 Python 2 7 以下命令在 bash shell 中给我一个错误 python cygdrive c Python27 Lib site packages djan
  • Bash:如何遍历目录结构并执行命令?

    我已将一个大文本文件拆分为许多较小的文件集 以进行我正在进行的性能测试 有很多这样的目录 home brianly output 02 contains 2 files myfile chunk 00 and myfile chunk 01