С perl
, так как sed
и awk
уже заняты:
perl -F, -lpe 'splice @F, 1, 1, ($F[1] =~ m/^(\d+)(\d{6})$/g); $_ = join ",", @F' file
С vim
, просто для удовольствия:
:%s/\m,\d*\zs\ze\d\{6},/,/
diff
не кэширует. ОС есть. Если вы используете Linux, вы можете очистить дисковые буферы и кеш. См. Как очистить буферы и кеш в системе Linux?