从文件中删除行

3 投票
9 回答
813 浏览
提问于 2025-04-15 11:16

我正在一个Unix系统上处理一些文本。我可以使用这个机器上的命令行,并且它安装了Python、Perl和一些默认的文本处理程序,比如awk等等。

我有一个文本文件,内容大致如下:

2029754527851451717 
2029754527851451717 
2029754527851451717 
2029754527851451717 
2029754527851451717 
2029754527851451717 1232453488239 Tue Mar  3 10:47:44 2009
2029754527851451717 1232453488302 Tue Mar  3 10:47:44 2009
2029754527851451717 1232453488365 Tue Mar  3 10:47:44 2009
2895635937120524206 
2895635937120524206 
2895635937120524206 
2895635937120524206 
2895635937120524206 
2895635937120524206 
5622983575622325494 1232453323986 Thu Feb 12 15:57:49 2009

这个文件基本上有3行:ID ID 日期

我想要删除所有没有两个ID和一个日期的行。所以最终的结果应该是这样的:

2029754527851451717 1232453488239 Tue Mar  3 10:47:44 2009
2029754527851451717 1232453488302 Tue Mar  3 10:47:44 2009
2029754527851451717 1232453488365 Tue Mar  3 10:47:44 2009
5622983575622325494 1232453323986 Thu Feb 12 15:57:49 2009

你们有什么建议可以做到这一点吗?这个文本文件总共有大约30,000行。

谢谢

Eef

9 个回答

5
with open(source_filename) as src:
    with open(dest_filename, 'w') as dst:
        for line in src:
            if len(line.split()) > 1:
                dst.write(line)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

8

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个水桶倒到另一个水桶里。

有些时候,我们可能会遇到一些问题,比如数据的格式不对,或者我们想要的数据没有被正确地获取到。这就像是你想要的水桶里没有水,或者水的颜色不对。

为了避免这些问题,我们可以使用一些工具或者方法来确保数据能够顺利地从一个地方转移到另一个地方。就像在倒水的时候,我们可能会用一个漏斗来帮助我们,让水流得更顺畅。

总之,处理数据的时候要小心,确保每一步都做对了,这样才能得到我们想要的结果。

grep ':' filename
14

使用 awk 的方法:

awk 'NF > 2' input_file > output_file

撰写回答