Python 如何从log.txt文件获取此字符串

Python 如何从log.txt文件获取此字符串,python,c,awk,sed,Python,C,Awk,Sed,log.txt格式: ;Index,Level,StripSize,SizeinMB,Status,Bootable,Array,Name 0,0,32kB,8192,"Normal","Yes",0,"FFS" 1,0,128kB,19046,"Normall","No",0,"Dev_Cache" 2,0,64kB,305244,"Normalll","Yes",1,"0W24SWKT" 或其他格式: ;Index,Level,StripSize,SizeinMB,Status,Boota

log.txt格式:

;Index,Level,StripSize,SizeinMB,Status,Bootable,Array,Name
0,0,32kB,8192,"Normal","Yes",0,"FFS"
1,0,128kB,19046,"Normall","No",0,"Dev_Cache"
2,0,64kB,305244,"Normalll","Yes",1,"0W24SWKT"
或其他格式:

;Index,Level,StripSize,SizeinMB,Status,Bootable,Array,Name
0,0,32kB,8192,"Normal","Yes",0,"FFS"
1,0,128kB,19046,"Available","No",0,"Dev_Cache"
2,0,64kB,305244,"Normal","Yes",1,"0W24SWKT"
以下是我的步骤:

iffs.sed
/Bootable/{
n;
s/^.*[0-9],\"([a-zA-Z]+)\",.*$/set abc=\1/p;
}
1. sed -nrf iffs.sed log.txt
result: set abc=Normal
2. sed "2d" log.txt |sed -nrf iffs.sed
result: set abc=Normal or Available
3. sed "2,3d" log.txt |sed -nrf iffs.sed
result: set abc=Normal
你能帮我找到一个简单的方法吗?windows操作系统和winpe 3.0环境。 我想得到这个结果“set abc2=Normal;set abc3=Normal或Available;set abc4=Normal”

在Python中:

for line in open('log.txt'):
    print 'abc=' + line.split(',')[4]

如果保证您的索引不会在文件中重复,您可以在
print$5
之后放置一个
nextfile
,以加快速度。

这可能适用于您:

sed '1d;=;s/[^"]*"\([^"]*\).*/\1/' log.txt | sed 'N;s/\n/=/;s/^/set abc/'
set abc2=Normal
set abc3=Available
set abc4=Normal

你想得到什么字符串?这个问题被标记为Python、C、sed和AWK?!数据格式大喊“使用awk”是件好事,否则我会问同样的问题。现在我只能得到awk-F,“…{print”abc=“$5};”log.txti希望在下面三行中获得“正常”或“可用”。也被标记为awk
sed '1d;=;s/[^"]*"\([^"]*\).*/\1/' log.txt | sed 'N;s/\n/=/;s/^/set abc/'
set abc2=Normal
set abc3=Available
set abc4=Normal