问题描述
我有一个文件,在其中一个单元格的输出 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
的简写,它将所有出现的 ;
替换为 |
,而没有参数的 print
与 print $_
相同。
如果您想编辑文件,将 sed
与相同的 g
开关一起使用可能会更直接。