grep管道python相当于

时间:2015-12-24 18:05:18

标签: python bash

我使用此bash命令捕获文本文件中的字符串

cat a.txt | grep 'a' | grep 'b' | grep 'c' | cut -d" " -f1

如何在python中实现此解决方案?我不想调用os命令,因为它应该是一个跨平台的脚本。

2 个答案:

答案 0 :(得分:2)

你可以试试这个,

with open(file) as f:      # open the file
    for line in f:         # iterate over the lines
        if all(i in line for i in ('a', 'b', 'c')): # check if the line contain all (a,b,c)
            print line.split(" ")[0]   # if yes then do splitting on space and print the first value

答案 1 :(得分:0)

您始终可以使用os库进行系统调用:

 import os

 bashcmd = " cat a.txt | grep 'a' | grep 'b' | grep 'c' | cut -d' ' -f1"
 print os.system( bashcmd )