linux - Unix:遍历一个目录

标签 linux bash unix

我需要遍历一个目录,从一个目录开始,深入到不同的子目录。但是,我还需要能够访问每个单独的文件以修改文件。是否已经有执行此操作的命令,或者我必须编写脚本吗?有人可以提供一些代码来帮助我完成这项任务吗?谢谢。

最佳答案

find 命令就是一个工具。它的 -exec 标志或 -print0 与 xargs -0 相结合,允许对每个文件的操作进行细粒度控制。

示例:将/tmp 和子目录中的所有文件中的所有 foo 替换为 bar。

find /tmp -type f -exec sed -i -e 's/foo/bar/' '{}' ';'

关于linux - Unix:遍历一个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7586591/

相关文章:

linux - 如何从 Unix/Linux 中的文件名中删除模式

mysql - 从 crontab 运行存储过程

linux - 如何在 2-3 行匹配模式之前插入一行

java - Runtime.getRuntime().exec 奇怪的行为

linux - echo 不修剪 awk 命令中的空格

bash - 删除字段中的所有重复条目

linux - 如何使用 awk 在输入文件的最后一行之后插入新记录(行或行)?

linux - 在远程系统上复制文件

linux - 创建目录或跳过 ftp 脚本

c - 如何检查我是否有权打开文件而不在 C 中的 Linux 上打开它?