アフィリエイト広告を利用しています
あるファイルのオリジナルのコピーを日時でバックアップし、変換したい言葉を対話形式で
入力、変換後の言葉を入力すれば、ファイルの中身を変換してくれるスクリプトを書いてみた。

ファイルのオリジナルのバックアップを取りつつ、変換したい部分をうまく変換できた。
一応コードも記載。
#!/bin/bash
word_replace() {
# バックアップ先のディレクトリを指定します
backup_dir="/kabu/unyonode/batches/"
# 対象ファイル名は何?
read -p "Enter the filename to backup and modify: " filename
# ファイルが存在しない場合はエラーを出力します
if [ ! -f "$filename" ]; then
echo "Error: $filename does not exist."
return 1
fi
# 置換前の単語と置換後の単語を入力
read -p "search_word : " search_word
read -p "replace_word : " replace_word
# ファイルをバックアップします
timestamp=$(date +"%Y-%m-%d_%H-%M-%S")
backup_filename="${filename}_${timestamp}"
cp "$filename" "${backup_dir}/${backup_filename}"
# ファイルの中身を置換します
sed -i "s/$search_word/$replace_word/g" "$filename"
}
word_replace

コメント