第二个域的长度固定吗?
char* pText = "123455,13182122252601"; int iCount = 0; bool fSecond = false; for (int i=0; i<strlen(pText); ++i) { printf("%c", pText[i]); if (',' == pText[i])//找到两域之间的分割 { fSecond = true; } if (fSecond) { if (++iCount % 2 == 0) { printf(","); } } }
cat yourfile|sed 's/\(.*,\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1\2,\3,\4,\5,\6,\7,\8/'
试试 echo "123455,13182122252601"|sed 's/\(.*,\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1\2,\3,\4,\5,\6,\7,\8/'
echo "123455,13182122252601"|sed 's/\(.*,\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1\2,\3,\4,\5,\6,\7,\8/'
echo "13182122252601"|sed -r 's/(.{2})/\1,/g'|sed '$s/.$//
19,620
社区成员
74,588
社区内容
加载中
试试用AI创作助手写篇文章吧