シェルスクリプト

ファイル操作の自動化スクリプト【bash実践入門】

シェルスクリプト
記事内に広告が含まれています。

シェルスクリプトを使えばファイルのコピー・移動・削除などを自動化できます。この記事では実用的なファイル操作スクリプトを解説します。

基本的なファイル操作コマンド

コマンド説明
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 でファイル・ディレクトリの存在チェックができる

コメント

タイトルとURLをコピーしました