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 的简写,它将所有出现的 ; 替换为 |,而没有参数的 printprint $_ 相同。

如果您想编辑文件,将 sed 与相同的 g 开关一起使用可能会更直接。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...