我有一个我想要恢复的mysqldump文件,但与它的构建方式不同。它包含一个我想删除的自动增量列。
转储文件如下所示:(第一列是auto-inc)
INSERT INTO `my_table` VALUES (833899644,461796098,'Wed',21,12),(833899645,423455772,'Sun',3,3)
...
所以我认为我需要将其更改为:(删除第一个数字)
INSERT INTO `my_table` VALUES (461796098,'Wed',21,12),(423455772,'Sun',3,3)
这个转储很大(20GB),但我认为sed可以很容易地处理,但不知道如何。非常感谢sed /其他选项的解决方案。
答案 0 :(得分:2)
为了简单起见,请删除从左括号到第一个逗号的所有内容。
如果您希望更改到位,请使用:
sed -i -r "s/\([^,]+,/\(/g" file
如果要将其保存在另一个文件中:
sed -r "s/\([^,]+,/\(/g" file > outfile
答案 1 :(得分:0)
您可以尝试使用以下sed命令删除第一个数字以及以下逗号
sed 's/^\([^0-9]*\)[0-9]\+,\(.*\)$/\1\2/g' file