我有一堆目录,在每个目录中我都有一堆子目录,在每个子目录中我有 1 个文件命名x1
并且可能也有y1
z1
。
我想为每个目录创建一个 shell 脚本,它遍历子目录并将所有x1
s 连接到一个文件以及所有y1
s 和所有z1
s。
我努力了
cat ./*/*.x1 >test
我不知道它如何与每个
如果您正在使用zsh
此for
循环工作:
for dir in *(/); do
cat "$dir"/*.x1 > "$dir"/combined.x1
[[ -n "$dir"/*.y1 ]] && cat "$dir"/*.y1 > "$dir"/combined.y1
[[ -n "$dir"/*.z1 ]] && cat "$di"r/*.z1 > "$dir"/combined.z1
done
因为bash
看起来你只需要更新dir
模式:
for dir in */; do
cat "$dir"/*.x1 > "$dir"/combined.x1
[[ -n "$dir"/*.y1 ]] && cat "$dir"/*.y1 > "$dir"/combined.y1
[[ -n "$dir"/*.z1 ]] && cat "$di"r/*.z1 > "$dir"/combined.z1
done