首页 > 解决方案 > 提取txt文件的最后一个重复部分

问题描述

我有一个非常大的 .txt 文件,其中包含多个格式相同但值不同的重复部分。我想提取最后一个重复并将其存储到 .csv 文件中。

我已成功提取所有三个重复,但不知道如何进行。一个脚本可能会有所帮助,但我没有它背后的逻辑,因为我仍然是 shell 脚本的初学者。

预期结果将仅包含该系列的最后一次重复。提取码:

sed -ne '/Summary of Natural Population Analysis:/,/* Total * /p'

我现在拥有的:

自然种群分析总结:

                                   Natural Population 
            Natural  -----------------------------------------------
Atom  No    Charge         Core      Valence    Rydberg      Total

  P    1   -0.00730      9.99875     4.96888    0.03967    15.00730
  H    2    0.00243      0.00000     0.99263    0.00493     0.99757
  H    3    0.00243      0.00000     0.99263    0.00493     0.99757
  H    4    0.00243      0.00000     0.99263    0.00493     0.99757

==================================================== ===================== * 总计 * 0.00000 9.99875 7.94678 0.05447 18.00000

自然种群分析总结:

                                   Natural Population 
            Natural  -----------------------------------------------
Atom  No    Charge         Core      Valence    Rydberg      Total

  P    1    0.03819      9.99894     4.93544    0.02743    14.96181
  H    2   -0.01273      0.00000     1.00784    0.00489     1.01273
  H    3   -0.01273      0.00000     1.00784    0.00489     1.01273
  H    4   -0.01273      0.00000     1.00784    0.00489     1.01273

==================================================== ===================== * 总计 * 0.00000 9.99894 7.95896 0.04210 18.00000

自然种群分析总结:

                                   Natural Population 
            Natural  -----------------------------------------------
Atom  No    Charge         Core      Valence    Rydberg      Total

  P    1    0.03819      9.99894     4.93544    0.02743    14.96181
  H    2   -0.01273      0.00000     1.00784    0.00489     1.01273
  H    3   -0.01273      0.00000     1.00784    0.00489     1.01273
  H    4   -0.01273      0.00000     1.00784    0.00489     1.01273

==================================================== ===================== * 总计 * 0.00000 9.99894 7.95896 0.04210 18.00000

我想拥有的:只是

自然种群分析总结:

                                   Natural Population 
            Natural  -----------------------------------------------
Atom  No    Charge         Core      Valence    Rydberg      Total

  P    1    0.03819      9.99894     4.93544    0.02743    14.96181
  H    2   -0.01273      0.00000     1.00784    0.00489     1.01273
  H    3   -0.01273      0.00000     1.00784    0.00489     1.01273
  H    4   -0.01273      0.00000     1.00784    0.00489     1.01273

==================================================== ===================== * 总计 * 0.00000 9.99894 7.95896 0.04210 18.00000

标签: shellunixsed

解决方案


如果您不只使用 sed,我会简单地使用 unix 管道并向其中添加 tail -1 命令,例如

sed 'mysed program' | tail -1

然后,您可以将其存储在 csv 文件中

sed 'mysed program' | tail -1 > my.csv

推荐阅读