🔥

【Mac向け】ラッコツールでダウンロードしたcsvファイルのファイル名を一括で変更する方法(ChatGPTとターミナル)

に公開

1. はじめに

「Finder内のファイル名を一括で変更したいけれど、どうすればいいのか?」
「一つずつ手動でファイル名を変えるのは、面倒でやりたくない...」

こんな悩みを抱えている方に、Macで一括でファイル名を変更する方法を、ChatGPTとターミナルを使って解説します。

ラッコツールの「見出し抽出」でダウンロードしたcsvファイルは、headlines_*_simple_*.csvという名前のファイル名になります。

ターミナルに詳しくない方でも心配いりません。私もコマンドを入力して「なんとなく動いてるな〜」という程度の理解で使っています。この記事を通じて、シェルスクリプトを使った一括変更の手法を学んでみましょう。

2. 対象読者

  • Macを使っている方
  • ファイルを一括でリネームしたいが、手作業が面倒だと感じている方
  • ターミナルに詳しくないが、少しずつ使いこなしてみたい方
  • Webマーケターやクリエイターなど、業務で大量のファイルを扱う方

3. 記事を読むメリット

この記事を読むと、以下の知識とスキルが得られます。

  • Macのターミナルを使用して、複数のファイルを一括でリネームする方法
  • シェルスクリプトの基本的な使い方
  • ファイル名から特定の文字列を削除・置換するテクニック

これらを学ぶことで、業務効率を大幅に向上させることができます。

4. 結論

Macのターミナルで以下のシェルスクリプトを使用することで、大量のファイル名を一括で変更できます。特定の文字列を削除し、新しい形式にリネームすることが可能です。

5. 本文

5.1 使用するシェルスクリプト

以下のスクリプトを使用して、ファイル名を一括で変更します。

#!/bin/bash

# ファイルのあるディレクトリへ移動(適宜変更)
cd /path/to/csv/files || exit

# 一括ファイル名変更
for file in headlines_*_simple_*.csv; do
  # ファイル名から不要な部分を削除
  new_name=$(echo "$file" | sed -E 's/^headlines_//; s/_simple_[0-9]+//')

  # ファイル名を変更
  mv "$file" "$new_name"

  echo "Renamed: $file -> $new_name"
done

echo "全てのファイル名の変更が完了しました。"

5.2 スクリプトの詳細解説

  1. ディレクトリ移動

    cd /path/to/csv/files || exit
    
    • ファイルが保存されているディレクトリに移動します。
    • 適切なディレクトリパスを指定してください。
  2. for ループでファイルを一括処理

    for file in headlines_*_simple_*.csv; do
    
    • headlines_ で始まり、_simple_ の後に日時が続くファイルを対象にループ処理を行います。
  3. sed コマンドで文字列を削除

    new_name=$(echo "$file" | sed -E 's/^headlines_//; s/_simple_[0-9]+//')
    
    • sed を使って、以下の部分を削除しています。
      • 先頭の headlines_
      • _simple_ に続く日時部分(例:_simple_20241212164410
  4. mv コマンドでファイル名を変更

    mv "$file" "$new_name"
    
    • 元のファイル名を新しいファイル名に変更します。
  5. 結果を出力

    echo "Renamed: $file -> $new_name"
    
    • 変更結果を確認できるようにメッセージを表示します。

5.3 実行手順

  1. スクリプトを rename_csv.sh という名前で保存します。
  2. 実行権限を付与します。
    chmod +x rename_csv.sh
    
  3. スクリプトを実行します。
    ./rename_csv.sh
    

6. まとめ

今回の記事では、Macのターミナルを使ってFinder内のファイル名を一括で変更する方法を紹介しました。手作業では時間がかかるファイル操作も、スクリプトを活用することで効率化できます。

皆さんの業務の助けになれば幸いです。ターミナル操作に慣れることで、さらなる自動化や効率化が可能になります。ぜひ試してみてください。

Discussion