文本截取与拼接
几个细节
- 位置是按字符数,不是字节数
- 一个汉字算一个字符。要按字节算(比如数据库字段长度是按字节限制的),得另外估算:UTF-8 下一个常见汉字占 3 字节。
- 起始位置可以写负数
-4表示从倒数第 4 个字符开始,配合「取多少个」可以精确取出末尾一段,比如取手机号后四位就是起始-4、长度留空。- 按字段取的写法
- 和
cut -f一样:2取第二个,2,4取第二和第四个,2-4取第二到第四个,-1取最后一个。选「连续空白」当分隔符时,多个空格会被当成一个,适合处理ps、df这类命令的输出。 - 合并成一行后怎么直接拼 SQL
- 连接符写
,、每行加单引号、整体加小括号,出来就是('a', 'b', 'c'),可以直接接在IN后面。数据量大时用「每行多少个一组」切成几批,避免单条 SQL 的 IN 太长。 - 按字符数拆行会切断单词
- 这页的拆分是硬切,不会避开单词和标点。要按词换行(排版用)得用编辑器的自动换行功能。
- 相关工具
- 文本批量替换、文本行处理、前后缀添加、表格互转。