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

awk输出存在多余换行:从Elasticsearch索引数据生成指定格式CSV的命令问题排查

问题分析与解决:Elasticsearch数据转CSV命令换行问题

嘿,我来帮你搞定这个多余换行的问题!你遇到的问题根源其实很直白:你的awk命令里用了两个独立的print语句,第一个print a[1]会单独输出一行,第二个print才输出后续内容,自然就出现了不必要的换行。

修正后的命令

直接把所有需要输出的内容合并到同一个print语句里,就能生成你想要的连续行格式:

cat filename | grep " 78_" | sort -k 3 | awk '{split($3,a,"_"); split($3,b,"-"); print a[1] "," $3 "," b[2] "," $5 "," $6 "," $10}'

命令细节解释

  • 第一个split($3,a,"_"):把索引名字段按下划线拆分,a[1]就是你需要的前缀78
  • 第二个split($3,b,"-"):把索引名字段按连字符拆分,b[2]就是提取出的日期部分
  • 把所有目标字段用逗号拼接后一次性通过print输出,彻底避免了拆分输出导致的换行

执行这个修正后的命令,输出就会和你期望的格式完全匹配:

78,78_data_store-2021.11.26,2021.11.26,1,1,478.2mb
78,78_data_store-2021.12.12,2021.12.12,1,1,4.1gb
78,78_data_store-2021.12.24,2021.12.24,1,1,372.6mb

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 10:23:11