我想使用grep
命令从我的数据文件中提取一些字符串。
数据文件格式
a=1,b=2,c=3,
a=4,b=5,c=6,
我想要输出格式
a=1,c=3,
a=4,c=6,
我尝试了下面的命令
grep -Po 'a=.*?,|c=.*?,' data
但输出格式不正确。请教我该怎么做。
答案1
一种可能性sed
如下。
sed -n 's/\(a=.\?,\)\(.*\)\(c=.\?\)/\1\3/p' data
更通用的正则表达式如下。
sed -n 's/\([a-zA-Z]=.\?,\)\([a-zA-Z]=.\?,\)\([a-zA-Z]=.\?,\)/\1\3/p' input