【问题标题】:Find string that are common or matched in a column of multiple txt files在多个 txt 文件的列中查找常见或匹配的字符串
【发布时间】:2022-01-12 16:47:22
【问题描述】:

我有 336 个 txt 文件,每个 txt 文件有 4 列。我需要帮助来查找所有 txt 文件中第 2 列(基因)中常见或匹配的字符串,并将该信息提取到新的 txt 文件中。

例如:“kdpDE beta”存在多少次,如果存在则在输出 txt 文件的下一列中打印“1”,如果“kdpDE beta”不存在则打印“0”。

感谢您的帮助。

File_1.txt
Name     Gene              Family                Class 
KB2908   kdpE beta         aminoglycoside        lactamase
KB2908   ugd               peptide               transferase

File_2.txt
Name    Gene              Family                  Class 
KB2909  kdpE beta         aminoglycoside          lactamase
KB2909  ugd               peptide                 transferase
KB2909  PmrF              macrolide               phosphotransferase

【问题讨论】:

  • 我不明白这个过程的结果应该是什么。是否有一个输出文件,还是每个文件都被修改为新列?
  • 嗨@glennjackman,一个输出文件,每个txt文件中匹配字符串的出现次数

标签: linux shell


【解决方案1】:

您可以使用grepwc 来获取文件中某个字符串的计数。您可以使用脚本循环遍历它,以便对目录中的每个文件执行此操作。下面会循环遍历目录,统计<search term>在每个文件中出现的次数,并输出到名为output.txt的文件中。

for FILE in *; do
  echo $FILE >> output.txt
  grep -o -i '<search term>' $FILE | wc -l >> output.txt
  echo >> output.txt
done

【讨论】:

    猜你喜欢
    • 2014-05-08
    • 1970-01-01
    • 2013-12-23
    • 2022-01-25
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多