python中的Shell脚本与变量

Kil*_*izo 0 python shell

我仍然是python的新手.我有一个带有数字列表的文本文件,每个数字都有两个"属性":

250 121 6000.654
251 8472 650.15614
252 581  84.2
Run Code Online (Sandbox Code Playgroud)

我想搜索第1列并将第2和第3列作为单独的变量返回,以便稍后使用它们.

cmd = """ cat new.txt | nawk '/'251'/{print $2}' """
os.system(cmd)
Run Code Online (Sandbox Code Playgroud)

这是因为它打印$ 2列,但我想将此输出分配给变量,类似于此(但这会返回错误数AFAIK):

cmdOutput =  os.system(cmd)
Run Code Online (Sandbox Code Playgroud)

我还想根据变量更改nawk'd值,如下所示:

cmd = """ cat new.txt | nawk '/'$input'/{print $2}' """
Run Code Online (Sandbox Code Playgroud)

如果有人可以提供帮助,谢谢.

S.L*_*ott 5

不要使用catnawk.请.

只需使用Python

import sys
target= raw_input( 'target: ' ) # or target= sys.argv[1]
with open('new.txt','r') as source:
    for columns in ( raw.strip().split() for raw in source ):
        if column[0] == target: print column[1]
Run Code Online (Sandbox Code Playgroud)

cat.不nawk.