如何批量为800个CSV文件添加'sep=$'或修改分隔符?
批量处理800个$分隔的CSV文件:添加
sep=$行或修改分隔符 一、批量添加sep=$行
Windows 环境(CMD 批处理)
创建一个.bat文件,放入CSV文件所在目录,双击运行:
@echo off setlocal enabledelayedexpansion for %%f in (*.csv) do ( echo sep=$ > "%%~nf_temp.csv" type "%%f" >> "%%~nf_temp.csv" move /y "%%~nf_temp.csv" "%%f" ) endlocal
脚本逻辑:遍历当前目录所有CSV文件,先生成包含sep=$的临时文件,再追加原文件内容,最后替换原文件。
Linux/macOS 环境(Shell 脚本)
先备份文件(强烈推荐),再执行批量插入:
# 创建备份目录并复制所有CSV mkdir -p backup && cp *.csv backup/ # 在每个CSV文件开头插入sep=$行 for file in *.csv; do sed -i '1i sep=$' "$file" done
注:macOS 下的 sed 需要加空备份后缀,命令改为 sed -i '' '1i sep=$' "$file"
二、批量修改分隔符(示例:将$替换为逗号,)
Windows 环境(PowerShell)
打开PowerShell,进入CSV文件目录,执行:
Get-ChildItem -Filter *.csv | ForEach-Object { (Get-Content $_.FullName) -replace '\$', ',' | Set-Content $_.FullName }
Linux/macOS 环境(Shell 脚本)
同样先备份,再批量替换:
mkdir -p backup && cp *.csv backup/ # 将所有$替换为逗号 sed -i 's/\$/,/g' *.csv
注:macOS 下命令改为 sed -i '' 's/\$/,/g' *.csv
注意事项
- 操作前务必备份所有文件,避免数据丢失
- 如果文件路径包含空格,上述脚本已通过引号处理,无需额外修改
- 大文件场景下,sed/PowerShell的方法比手动操作效率高很多
内容的提问来源于stack exchange,提问作者fg2210
相关产品推荐
相关产品推荐

