📎

ファイル内部の文字列一括変換するシェルスクリプト

2024/10/24に公開

/etc/yum.repos.d/*.repo 内一括変換

こちらの記事ですべての*.repoファイルの中身を一括で変換するためのシェルスクリプトを
記載しておきます。
https://zenn.dev/muso_tensei/articles/2fd69284550d5d

1.ファイルを作成

どこでも好きな場所に下記ファイルを作成

vi convertAllAtOnce.sh

2.内部を編集

#!/bin/bash

# リポジトリファイルのあるディレクトリを指す変数
REPO_DIR="/etc/yum.repos.d/"

# すべての*.repoファイルに対して操作を行う
for repo_file in ${REPO_DIR}*.repo; do
  echo "Processing ${repo_file}"

  # Step1. mirrorlistからはじまる部分をコメントアウト
  sed -i 's/^mirrorlist/#mirrorlist/g' "$repo_file"

  # Step2.URL部分の変換
  sed -i 's/^#baseurl/baseurl/g' "$repo_file"
  sed -i 's|mirror.centos.org|vault.centos.org|g' "$repo_file"
done

echo "All repo files updated!"

3.実行権限付与

デフォルトで実行権限がないため、以下を実行

chmod 755 convertAllAtOnce.sh

これをもとに、他の用途にも応用が利くと思います!

Discussion