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

Linux下如何去除单行内重复字符串?以transparent_hugepage=never为例

去除Linux单行文本内的重复字符串(以/proc/cmdline为例)

针对/proc/cmdline中重复出现的参数(比如transparent_hugepage=never),可以通过拆分单行、去重、重新合并的方式处理,以下是两种实用方法:

方法1:排序后去重(会改变参数顺序)

cat /proc/cmdline | tr ' ' '\n' | sort -u | tr '\n' ' ' | sed 's/ $//'

各部分作用:

  • tr ' ' '\n':将单行内的空格替换为换行,把每个命令行参数拆分为独立行
  • sort -u:对拆分后的行排序,同时自动去除重复项
  • tr '\n' ' ':将换行符换回空格,重新合并为单行
  • sed 's/ $//':移除单行末尾多余的空格

方法2:保留原顺序去重

如果需要保留参数原本的顺序,用awk处理更合适:

cat /proc/cmdline | awk -v RS=' ' '!seen[$0]++ {printf "%s ", $0}' | sed 's/ $//'

各部分作用:

  • -v RS=' ':设置记录分隔符为空格,让awk把每个参数当作一条独立记录
  • !seen[$0]++:用数组seen追踪已出现的参数,仅处理首次出现的参数
  • printf "%s ", $0:打印参数并添加空格分隔
  • sed 's/ $//':移除末尾多余的空格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:15:24