Я хочу использовать 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
Но выходной формат неверен. Пожалуйста, научи меня, как это делать.
Одна возможность с 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