我正在写一个脚本来修改csv文件。
这是我的格式文件:
" ID""类型""日期""松开""版本"
" 1","安全更新"," 2014-09-23"," 1.3-0.1"," 2&# 34;
" 2"," Bug修复"," 2014-09-23"," 1.3-0.1"," 2&# 34;
#&34; 3""增强"" 2014年9月23日"" 1.3-0.1"" 2&#34 ;
我想更改"安全更新"到"高" ," Bug Fix" to" Medium"和#34;增强"到"正常"
有没有人给我一个想法?
感谢
答案 0 :(得分:0)
这将在整个文件中用所需的替换替换关键字的每个实例。
awk '{gsub(/Security Update/,"High")}; 1'
awk '{gsub(/Bug Fix/,"Medium")}; 1'
awk '{gsub(/Enhancement/,"Normal")}; 1'
但请注意,即使关键字不在第二列中,也会匹配关键字。
答案 1 :(得分:0)
鉴于此示例文件:
"id","type","date","release","version"
"1","Security Update","2014-09-23","1.3-0.1","2"
"2","Bug Fix","2014-09-23","1.3-0.1","2"
"3","Enhancement","2014-09-23","1.3-0.1","2"
使用Python进行更改非常容易:
$ python -c '
import csv, fileinput
update={"Security Update": "High", "Bug Fix": "Medium", "Enhancement":"Normal"}
for line in csv.reader(fileinput.input()):
if line[1] in update: line[1]=update[line[1]]
print ",".join(repr(e) for e in line)' file.csv
'id','type','date','release','version'
'1','High','2014-09-23','1.3-0.1','2'
'2','Medium','2014-09-23','1.3-0.1','2'
'3','Normal','2014-09-23','1.3-0.1','2'
答案 2 :(得分:0)
你可以用sed做到这一点。
sed 's/Security Update/High/g;s/Bug Fix/Medium/g;s/Enhancement/Normal/g'