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

如何从文件不同行提取指定字段并组合输出到另一文件

实现方案

你可以用awk快速完成这个提取需求,Linux/macOS系统默认自带awk,无需额外安装工具。

方法1:处理本地文件

假设你的原始内容保存在input.txt文件中,直接运行以下命令即可输出符合要求的内容到output.txt:

awk 'BEGIN{RS=""; FS="\n"} {for(i=1;i<=NF;i++) {if($i ~ /^givenName:/) gn=$i; if($i ~ /^userPassword::/) pwd=$i} print gn ", " pwd "\n"}' input.txt > output.txt

命令逻辑说明:

  • RS="":设置输入记录分隔符为空行,这样每两个空行之间的所有内容就会被识别为一个完整的用户条目
  • FS="\n":设置每个记录内部的字段分隔符为换行符,每条属性行就是一个独立字段
  • 遍历每个字段匹配对应的属性名,存到变量后拼接输出,末尾自动加空行分隔不同用户的记录

方法2:处理实时命令输出

如果你的原始内容是其他命令(比如ldapsearch)的输出,直接把命令输出用管道传给awk即可,示例:

ldapsearch [你的查询参数] | awk 'BEGIN{RS=""; FS="\n"} {for(i=1;i<=NF;i++) {if($i ~ /^givenName:/) gn=$i; if($i ~ /^userPassword::/) pwd=$i} print gn ", " pwd "\n"}' > output.txt

输出验证

运行完成后可以用cat output.txt查看生成的文件,内容和要求的格式完全一致:

givenName: filip, userPassword:: MTIz 

givenName: stiv, userPassword:: BhJk

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:54:01