如何解决是否可以在不将文件写入磁盘的情况下将数据从 awk 发送到 python?
我在一个目录中有一堆输出文件,我正在使用 awk 从中提取信息。一旦 awk 运行完毕,并且我已将信息整齐地写入 data.txt
文件中,我将调用 pandas 并创建数据的数据框。
我的问题是,当我从 awk 获取我的信息时,我是否可以立即将其放入一个 numpy 数组/列表中,使用 subprocess 模块或其他什么?
解决方法
最后,您可以使用 sys 中的 |
将 awk
的 (python
) 输出管道输送到 sys.stdin.read
。考虑以下简单示例 countdigits.py
,它在整个输出中打印位数
import sys
data = sys.stdin.read()
digits = [i for i in data if i.isdigit()]
print(len(digits))
和 file.txt
内容是:
1
2
3
然后
awk '//' file.txt | python countdigits.py
会输出
3
和
awk '{print $0*100}' file.txt | python countdigits.py
会输出
9
您可以使用 |
将任何文本从 awk
传输到 python
,而无需创建文本文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。