perl - Perl:如何从 csv 中删除分号
问题描述
我有一个文件,在其中一个单元格的输出 CSV 中,它用分号分隔数字
|页码|
|405;349;568;679|
如何删除分号并将这些数字分隔到不同的单元格中
|405|349|568|678|
|405| 标题将是页码,其他数字将是彼此水平的单元格
解决方案
替换运算符是s///
。您的具体示例可以由以下一个班轮处理:
echo "|405;349;568;679|" | perl -ne 's/;/|/g; print'
隐式地,该-n
选项循环通过管道输入的所有行,或随后列出的输入文件中的所有行(即以下也适用:)perl -ne 's/;/|/g; print' <(echo "|405;349;568;679|")
。每行都分配给变量$_
。s/;/|/g
是 的简写$_ =~ s/;/|/g
,它替换所有出现的;
with |
,并且print
没有参数与print $_
.
如果您想编辑文件,使用sed
同一个开关可能会更直接。g
推荐阅读
- docker - 是否可以通过 docker run 命令安装 mysqli 扩展
- ios - ITMS-90011:此捆绑包无效 - 图像文件必须在 RGB 颜色空间中
- python-3.x - 如何提高高度不平衡数据集的支持向量机的精度和召回率
- c++ - 从设备复制到主机时,cudaMemcpy 抛出 InvalidValue 错误
- python - 获取给定顶点坐标的多边形轮廓和多边形掩码的坐标
- python - 如何识别 docx 文件中的文本位置?
- javascript - 更改 I18n 语言环境不适用于 Vee-Validate - VueJS
- c++ - 如何解决while循环中数组重载的问题
- javascript - TS 文件不播放 hls.js
- java - java - 如何将网络摄像头捕获的图像与Java Swing中的另一个图像匹配?