【ChatGPT】AnsibleのblockinfileをShellスクリプトで再現してもらいました

完璧すぎますね!

#!/bin/bash

file_path="/path/to/file.txt"
block_start="### START ANSIBLE BLOCK ###"
block_end="### END ANSIBLE BLOCK ###"
new_block_content="This is the content of the new block."

# ファイルに既にブロックが存在するかどうかを確認
if grep -Fxq "$block_start" "$file_path" && grep -Fxq "$block_end" "$file_path"; then
    # ブロックが既に存在する場合、既存のブロックを削除して新しいブロックを挿入
    sed -i -e "/$block_start/,/$block_end/d" "$file_path"
    echo "$block_start" >> "$file_path"
    echo "$new_block_content" >> "$file_path"
    echo "$block_end" >> "$file_path"
else
    # ブロックが存在しない場合、ファイルの末尾に新しいブロックを追加
    echo "$block_start" >> "$file_path"
    echo "$new_block_content" >> "$file_path"
    echo "$block_end" >> "$file_path"
fi

LLM

Posted by raika@blog