フォルダ名が01から12までの複数のフォルダを一括で圧縮するには、Linuxのシェルスクリプトを使って繰り返し処理を実行するプログラム。
#!/bin/bash
for i in {1..12}; do
folder_name=$(printf "%02d" $i) # 2桁のゼロ埋めされたフォルダ名
if [ -d "${folder_name}" ]; then
tar -czvf "${folder_name}.tar.gz" "${folder_name}"
echo "Compressed ${folder_name} to ${folder_name}.tar.gz"
else
echo "Folder ${folder_name} not found"
fi
done
最初AIを使って、使ったものの、01の出力が1になってしまい、エラーになってしまった。
確認用のプログラム
#!/bin/bash
for i in {1..12}; do
folder_name="${i}"
echo $folder_name
folder_name=$(printf "%02d" $i)
echo $folder_name
done
出力結果
1
01
2
02
3
03
4
04
5
05
6
06
7
07
8
08
9
09
10
10
11
11
12
12
AIとは、対話しながら進めないといけないなぁと、改めて実感しました。
エラーコードを貼り付けるなり、間違いを指摘してあげると、答えがきちんと返ってきます。
コメント