【问题标题】:Classify text from tab separated columns in text file对文本文件中制表符分隔列中的文本进行分类
【发布时间】:2017-08-04 19:03:26
【问题描述】:

我有一个像this这样的文本文件:

        Education June 2007 Bachelors of Science in
Business Administration ORGANIZATION    ,
University of Phoenix   ORGANIZATION    .

        June 2005 Associate of Arts in
Liberal Arts    ORGANIZATION    ,
Victor Valley Junior College    ORGANIZATION    ,
Victorville LOCATION    ,
CA  LOCATION    .

我想检索分隔前两列的制表符,所以我使用了这个:

cut -f 1-2 input.txt > output.txt

效果很棒!

现在,我想要在第二列中包含 ORGANIZATION 并在第一列中包含特定单词的行,即对于每一行,如果第二列显示 ORGANIZATION,请检查第一列是否包含单词“University”, School","College"等,如果是,写在输出文件中。

有没有什么办法可以通过修改下面的代码或者用python写一个新的来实现?:

cut -f 2-3 input.txt > output.txt

输出应如下所示:

University of Phoenix   ORGANIZATION
Victor Valley Junior College    ORGANIZATION

【问题讨论】:

  • 预期输出是什么?试试这个可能有帮助awk '$2 ~ /ORGANIZATION/ && $1 ~ /University|School/' inputfile
  • 为什么这个标签是python?
  • @PS。 - 不工作。
  • @ChristianW。 - 如果它不能通过修改它,我想要一个 python 解决方案。
  • 您需要将示例输出添加到问题中,以确保在这里回答的人不会浪费您和他们的时间。

标签: python bash python-3.x filter classification


【解决方案1】:

你可以使用sed:

cut -f 1-2 file.txt | sed -n '/(Business|University).*ORGANIZATION/p' > output.txt

这应该匹配所有包含 Business 或 University 和 ORGANIZATION 的行,并打印它们 (p)。

【讨论】:

    【解决方案2】:
     awk -F"/t" '$1 ~ /University|Business/ && $(NF-1) ~ /ORGANIZATION/' as
    Business Administration ORGANIZATION    ,
    University of Phoenix   ORGANIZATION    .
    

    如果第一列包含 University OR Business AND 最后一列包含 ORGANIZATION,则打印该行。这里它说的最后一列,但它的倒数第二列,实际的最后一列是命令/句号。

    *在这里您可以更改列号以获得所需的结果。 这只是awk的方式或写法。

    【讨论】:

    • 因为那一栏应该有“college”。举一个例子,其中第一列包含“college”,最后一列包含“ORGANIZATION”,并且无法打印该行。
    • 不适用于此:维克多谷初级学院组织。整个维克多谷初级学院是第一列,组织由制表符分隔。
    • 因为这里的第一列是“维克多”而不是大学。大学是第 4 列。
    • 我的评论对你有意义吗,我不想浪费你的时间?
    • 确实如此,我认为您的输入未正确使用制表符分隔。我可能错了。尝试awk -F $'\t' '{print $1}'awk -v FS=$'\t' '{print $1}' 会打印错误的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多