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

如何将shell文件中带换行空格的多行内容合并为逗号分隔单行?

文本转换实现方法

核心处理逻辑为三步:移除所有换行符将内容拼接为单行、清理所有逗号前后的多余空白、清理内容首尾的多余空白,以下是不同环境下的可用方案:


方案1:awk实现(兼容性最高,适配所有Linux/Unix环境)

# 直接输出处理结果
awk '{gsub(/^[[:space:]]+|[[:space:]]+$/, "", $0); printf "%s", $0}' 你的文件路径 | awk '{gsub(/[[:space:]]*,[[:space:]]*/, ","); print}'

# 如需保存到新文件,末尾加重定向即可
awk '{gsub(/^[[:space:]]+|[[:space:]]+$/, "", $0); printf "%s", $0}' 你的文件路径 | awk '{gsub(/[[:space:]]*,[[:space:]]*/, ","); print}' > 输出文件路径

方案2:tr+sed组合实现

# 直接输出处理结果
tr -d '\n' < 你的文件路径 | sed 's/[[:space:]]*,[[:space:]]*/,/g' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//'

# 如需直接修改原文件,使用以下写法
tr -d '\n' < 你的文件路径 | sed 's/[[:space:]]*,[[:space:]]*/,/g' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' > temp_file && mv temp_file 你的文件路径

方案3:Perl实现(写法更简洁)

perl -0777 -pe 's/\n//g; s/\s*,\s*/,/g; s/^\s+|\s+$//g' 你的文件路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:18:03