【问题标题】:How to combine foreach loop with sed on text files?如何在文本文件上将 foreach 循环与 sed 结合使用?
【发布时间】:2016-09-05 13:38:22
【问题描述】:

所以我有一个命令,可以将非文本文件中的信息输出到文本文件中,我想对其中的 10 个文件执行一个 for each 循环。有点像,

print_h3_header 2034.h3 > 2034_header.txt 

然后我想从文本文件中提取特定的行。有点像,

sed '7929p;7936p;7937q;d' 2034_header.txt > 2034_extracted.txt

有没有一种方法可以让我迈出一大步来完成所有这些工作?

【问题讨论】:

    标签: unix text sed foreach


    【解决方案1】:

    如果我正确理解您的问题,您所需要的只是

    print_h3_header 2034.h3 | sed '7929p;7936p;7937q;d' > 2034_extracted.txt
    

    【讨论】:

    • 但我还有 10 个其他文件要处理。如何在 foreach 循环的上下文中执行此操作?
    • 对此,请参阅 karakfa 的回答。
    【解决方案2】:

    您对所有带有.h3 扩展名的文件执行相同操作

    for f in *.h3; 
    do 
      print_h3_header "$f" | sed '...' > ${f%.*}_extracted.txt; 
    done
    

    【讨论】:

    • f 代表什么?
    • 它是循环迭代器,对应于来自*.hs的全局扩展的文件名。
    猜你喜欢
    • 2013-04-26
    • 2023-02-06
    • 2011-04-15
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    相关资源
    最近更新 更多