gpt4 book ai didi

awk 从列表中选择输入文件

转载 作者:行者123 更新时间:2023-12-04 21:46:32 24 4
gpt4 key购买 nike

基本的 Awk 问题,但我似乎在任何地方都找不到答案:

我有一个包含 50000 个 txt 文件的文件夹,我想从中对子集运行 AWK 搜索。我已将要限制搜索的文件名保存在单独的文档中。这将大大加快搜索速度,目前看起来像这样:

awk -F "searchTerm" '{print NF-1}' data/output/*>> output.txt

非常感谢

最佳答案

假设包含要搜索的子集的文件名为 subset.txt并且其内容具有以下格式(每个文件在单独的行上):

file1.txt
file2.txt
file3.txt
...
fileN.txt

然后这将解决问题:
awk -F "searchTerm" '{print NF-1}' $(<subset.txt) >> output.txt

说明:
  • $(<subset.txt)将文件的子集列表提供给 awk作为输入。 (请参阅下面 Jonathan Leffler 的评论)


  • 我还应该指出 -F "searchTerm"实际上是将字段分隔符(awk 在每行上使用的限制器)设置为 searchTerm .如果要在包含“searchTerm”的每一行上打印字段数 - 1,请执行以下操作:
    awk '/searchTerm/ {print NF-1}' $(cat subset.txt) >> output.txt

    关于awk 从列表中选择输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13535642/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com