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

如何将文本文件内容追加到目标文件且保留其前两行并去重?

保留目标文件前两行并追加源文件非重复内容的解决方案

核心命令

# 保留目标文件前两行到临时文件
head -n 2 user2.txt > temp.txt
# 筛选源文件中未在目标文件(第三行及以后)出现的内容并追加
grep -vxFf <(tail -n +3 user2.txt) user1.txt >> temp.txt
# 替换原目标文件
mv temp.txt user2.txt

命令拆解

  • head -n 2 user2.txt > temp.txt:提取user2.txt的前两行(需保留的固定内容)写入临时文件,彻底避免覆盖原有核心行
  • <(tail -n +3 user2.txt):通过进程替换,提取user2.txt从第三行开始的所有已存在条目,作为去重的参照列表
  • grep -vxFf ... user1.txt:
    • -f:读取参照列表作为匹配模式
    • -x:强制整行匹配,防止部分字符串匹配导致的误过滤
    • -F:将参照内容视为固定字符串,而非正则表达式
    • -v:反向输出,只保留user1.txt中未出现在参照列表里的新内容
  • mv temp.txt user2.txt:用处理后的临时文件替换原目标文件,完成最终更新

适配源文件含重复行的场景

如果user1.txt本身存在重复条目,可先对源文件去重再筛选:

head -n 2 user2.txt > temp.txt
grep -vxFf <(tail -n +3 user2.txt) <(sort -u user1.txt) >> temp.txt
mv temp.txt user2.txt

示例验证

  • 源文件user1.txt内容:
Phill
Johne
Marie
Arthuro
  • 目标文件初始user2.txt内容:
Allow from:
Phill
Johne

执行命令后,user2.txt最终内容:

Allow from:
Phill
Johne
Marie
Arthuro

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 04:16:07