需要把md文件里的图片由.jpg或.png替换成.webp。由deepseek生成了一段脚本。

#!/bin/bash

# 设置目录路径
directory="/data/downloads/posts/"

# 设置要替换的字符串
search=".png"
replace=".webp"

# 转义特殊字符(将 / 替换为 \/)
escaped_search=$(echo "$search" | sed 's/\//\\\//g')
escaped_replace=$(echo "$replace" | sed 's/\//\\\//g')

# 遍历目录中的所有 .md 文件
find "$directory" -type f -name "*.md" | while read -r file; do
    echo "Processing $file"
    # 使用 sed 替换文件中的字符串
    sed -i "s/$escaped_search/$escaped_replace/g" "$file"
done

echo "Replacement complete."
起初生成了windows下的批处理文件,但是处理完之后发现文件里出现了乱码。这段bash脚本就没有问题。应该是utf8和gbk编码的问题。

标签: linux

添加新评论