You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用UNIX命令行工具移除文件夹下所有.txt文件内的换行符

批量删除TXT文件换行符并原地覆盖的UNIX命令行方案

你遇到的bash: *.txt: ambiguous redirect报错翻译为:bash:*.txt:模糊重定向,原因是输入重定向符<无法同时匹配多个输入文件,所以此前的单文件处理命令无法直接批量生效。


方案1:bash循环+tr(全平台兼容,无额外依赖)

tr是POSIX标准工具,所有类UNIX系统(Linux、macOS、BSD等)都默认支持,批量处理命令如下:

for file in *.txt; do tr -d '\n' < "$file" > "$file.tmp" && mv "$file.tmp" "$file"; done

说明:

  • 遍历当前目录下所有.txt后缀的文件,逐个处理
  • 用tr -d '\n'删除文件内所有换行符,先写入临时文件避免操作异常损坏原数据
  • 处理完成后自动用临时文件覆盖原文件,保留原文件名不变

方案2:sed原地修改(更简洁,适合GNU sed环境)

如果你使用的是默认带GNU sed的Linux发行版,可以用更简洁的单条命令批量处理:

sed -i ':a;N;$!ba;s/\n//g' *.txt

说明:

  • -i参数开启原地修改模式,无需额外生成临时文件
  • 命令逻辑为一次性读取整个文件内容,替换所有换行符为空,直接写入原文件
  • 如果你使用的是macOS默认的BSD sed,命令调整为:
    sed -i '' ':a;N;$!ba;s/\n//g' *.txt
    

注意事项

操作前建议先备份所有源文件,避免误操作导致数据丢失:

mkdir -p ./txt_backup && cp *.txt ./txt_backup/

内容的提问来源于stack exchange,提问作者Aux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:15:03