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

如何在Bash中从文本文件提取唯一值并生成空格分隔字符串

提取文本文件唯一值并生成空格分隔字符串

需求说明

有一个无表头的文本文件(示例文件file.txt内容如下),需要提取其中的唯一值,生成以空格分隔的带双引号字符串:

文件内容:

a  
b  
b  
c  
a  
c  
b  

期望输出结果:

"a b c"

实现方法

Shell命令(适用于Linux/macOS环境)

通过组合基础命令即可完成:

sort file.txt | uniq | tr '\n' ' ' | sed 's/ $//' | awk '{print "\""$0"\""}'
  • sort file.txt:对文件内容排序,让重复行集中
  • uniq:去除连续的重复行
  • tr '\n' ' ':将换行符替换为空格,把多行转为单行
  • sed 's/ $//':移除末尾多余的空格
  • awk '{print "\""$0"\""}':给最终结果添加首尾双引号

Python脚本(跨平台通用)

如果需要跨Windows、Linux、macOS使用,可编写Python脚本:

with open('file.txt', 'r', encoding='utf-8') as f:
    # 读取每行并过滤空行、去除首尾空白字符
    lines = [line.strip() for line in f if line.strip()]
# 去重后排序,保证结果有序
unique_vals = sorted(set(lines))
# 拼接成目标格式字符串
result = f'"{" ".join(unique_vals)}"'
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:52:47