0

私にはたくさんのディレクトリがあり、各ディレクトリにはたくさんのサブディレクトリがあり、各サブディレクトリには1つのファイルがあり、同じように名前が付けられx1ている可能性がありy1 z1ます。

ディレクトリごとにサブディレクトリを通過し、すべてのx1ファイルを1つのファイルに連結し、すべてのファイルとすべてのファイルをy1連結するシェルスクリプトが必要z1です。

私が試してみました

cat ./*/*.x1 >test

それぞれでどのように機能するのかわかりません

4

1 に答える 1

0

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
于 2012-08-06T09:16:13.327 に答える