Я предлагаю вам не полагаться на ,
перед ()
, а вместо этого полагаться на него после с \?
. В любом случае, не имеет значения, есть ли у вас одно или несколько пространств. Что-то подобное должно сделать это за вас:
sed -i 's/("[^ ]*", [1-9][0-9]*),\?//g; s/,\s*;/;/' dump.sql
Обратите внимание, что \?
означает, что ,
не является обязательным символом. Если бы его не было, совпадение все равно было бы.