シェルスクリプトを使えばファイルのコピー・移動・削除などを自動化できます。この記事では実用的なファイル操作スクリプトを解説します。
基本的なファイル操作コマンド
| コマンド | 説明 |
|---|---|
| cp src dst | コピー |
| mv src dst | 移動・リネーム |
| rm ファイル | 削除 |
| mkdir -p パス | ディレクトリ作成 |
| find パス -name パターン | 検索 |
日付ごとにファイルを整理するスクリプト
#!/bin/bash
SRC_DIR="$1"
[ -z "$SRC_DIR" ] && { echo "使い方: $0 <ディレクトリ>"; exit 1; }
for file in "$SRC_DIR"/*; do
[ -f "$file" ] || continue
date_dir=$(date -r "$file" "+%Y-%m")
mkdir -p "$SRC_DIR/$date_dir"
mv "$file" "$SRC_DIR/$date_dir/"
done
echo "整理完了"古いファイルを安全に削除するスクリプト
#!/bin/bash
TARGET_DIR="/var/log/myapp"
DAYS=30
echo "削除対象:"
find "$TARGET_DIR" -type f -mtime +$DAYS -print
read -p "削除しますか? (y/N): " confirm
[ "$confirm" = "y" ] && find "$TARGET_DIR" -type f -mtime +$DAYS -delete
echo "完了"まとめ
- findで条件指定してファイルを検索・操作できる
-mtime +30で30日以上前のファイルを対象にできる- 削除前に確認プロンプトを入れるのが安全な作法
-f/-dでファイル・ディレクトリの存在チェックができる



コメント