【问题标题】:Sublime Text 2 remove unique linesSublime Text 2 去除独特的线条
【发布时间】:2014-12-24 17:47:49
【问题描述】:

我正在寻找 Sublime Text 2 的 Permute Lines -> Unique 的对立面。我需要能够仅显示文件中的重复行(或者,如果可能,在两个不同的文件中)。

我找到了HighlightDuplicates 插件,但我不知道如何选择突出显示的文本以将其复制到新文件中。

【问题讨论】:

    标签: duplicates sublimetext2 unique sublimetext


    【解决方案1】:

    你有几个问题放在一起,你对每个问题的定义没有完全定义。

    鉴于这些问题,让我们从将重复行从一个文件复制到另一个文件的挑战开始。

    这个简单的 Python 小程序应该适合你。

         """ Write duplicate lines in one file to a text file. """
    
        fileToRead = 'read_file.txt'
        fileToWrite = 'write_file.txt'
        dupLineSet = set()
    
        with open(fileToRead, mode='r') as read_file:
            file_lines = read_file.readlines()
            file_lines_copy = file_lines
            for line in file_lines:
                matches = 0
                for line_copy in reversed(file_lines_copy):
                    if line == line_copy:
                        file_lines_copy.remove(line_copy)
                        matches += 1
                    if matches > 1:
                        if line.strip() != '':
                            dupLineSet.add(line)
    
    
        with open(fileToWrite, mode='w') as write_file:
            for line in dupLineSet:
                write_file.write(line)
    
        ##############################
    

    注意:

    • 必须read_file.txt 替换为您要在其中查找重复项的文件的名称。

    • 如果您愿意,可以将 write_file.txt 替换为您希望将副本写入其中的文件的名称。

    试一试,看看您是否喜欢结果。 由于您尚未定义“重复”的含义,因此我做了一些您可能不喜欢的假设。

    无论如何,将上述内容放入 ST,编辑您需要的位并使用Tools -> Build 运行代码。

    查看输出文件并告诉我们它与您想要的不一样。

    一旦我们对单个文件达成一致的输出,为您提供适用于两个文件的版本,就是下一个重大挑战。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-09
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多