📌  相关文章
📜  linux遍历所有子目录并做动作——Shell-Bash(1)

📅  最后修改于: 2023-12-03 15:32:43.024000             🧑  作者: Mango

Linux遍历所有子目录并做动作——Shell-Bash

当我们需要对一个文件夹下的所有文件或者子文件夹做操作的时候,我们可以使用Linux中的Bash脚本来实现。

实现原理

我们可以使用find命令遍历所有子目录,然后使用Bash脚本来做相关操作。

代码实现

以下是一个遍历文件夹下所有文件的例子:

#!/bin/bash

# 遍历文件夹下所有文件
for file in $(find /path/to/folder -type f); do
  # 打印每个文件的路径
  echo $file
  # 对每个文件进行操作,如gzip压缩
  gzip $file
done

该代码会遍历/path/to/folder下的所有文件,并对每个文件进行gzip压缩操作。

如果要遍历子文件夹,可以使用-type d参数。

#!/bin/bash

# 遍历文件夹下所有子文件夹
for folder in $(find /path/to/folder -type d); do
  # 打印每个子文件夹的路径
  echo $folder
  # 对每个子文件夹进行操作,如创建一个空文件
  touch $folder/empty.file
done

该代码会遍历/path/to/folder下的所有子文件夹,并在每个子文件夹中创建一个空文件empty.file

总结

使用Bash脚本可以很方便地遍历文件夹下所有文件或子文件夹,并对每个文件或子文件夹做相关操作。通过find命令可以很轻松地实现遍历功能。