【问题标题】:How to extract a specific value from 1000 shell script files? [closed]如何从 1000 个 shell 脚本文件中提取特定值? [关闭]
【发布时间】:2016-06-04 17:53:45
【问题描述】:

我需要从我机器文件夹中的 1000 个文本文件中提取特定值...

例如:我有一个文件名file1,在file1 内,我有一个总 IPC(每计数指令)值为Total IPC :0.986(在这种情况下,我有 1000 个具有不同 IPC 值的文件)。

我需要从这些文件中获取 IPC 值...如何在 Python 中完成?或者有什么替代建议可以做到这一点?

【问题讨论】:

  • 请展示您尝试过的内容并提供MCVE (Minimal, Complete, and Verifiable Example)
  • 为什么如此投入?..我问的是一个建议,而不是我说我有代码...
  • 好吧,其实这不是真的这个网站是关于什么的;)请考虑这个:stackoverflow.com/help/on-topic
  • 我认为它被否决了,因为您的问题没有表现出任何努力,只是要求将解决方案交给您 - 而不是展示您尝试过的内容以及您遇到的问题。
  • 好的,我接受感谢您的意见。下次我会更正自己...

标签: python bash shell python-3.x sh


【解决方案1】:

这取决于你想对结果做什么。如果你只想拥有线条,你可以简单地做

grep 'Total IPC :' *.txt

并且仍然将结果(也列出文件名)传送到 python 程序或至少sed 远离它的Total IPC

$ grep 'Total IPC :' *.txt | sed -e 's|Total IPC :||'
blah.txt:0.986

【讨论】:

    【解决方案2】:
    1. 您可以通过内置的 open 使用 python 读取文件。
    2. 然后您可以遍历这些行。
    3. 使用 find 方法越界。这将为您提供找到子字符串“Total IPC”的索引。
    4. 然后你就可以随意切线了。

    例子:

    with open('file') as f:
        for line in f:
            pos = f.find('Total IPC')
            if pos >= 0:
                line[pos : pos + as_many_chars_you_need]
    

    【讨论】:

      猜你喜欢
      • 2019-10-15
      • 2022-11-14
      • 2012-09-17
      • 2020-06-18
      • 2019-02-13
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多