使用 sed 删除分隔符前的空格

Eri*_*rik 2 sed regular-expression

我有以下格式的数据要输入 LibreOffice calc

data | num   | num | num     | num
Run Code Online (Sandbox Code Playgroud)

出于某种原因,Libreoffice 认为字符串“3214”在默认情况下不是数字(尾随空格)。

我想(\s)*||where\s代表空间和*Kleene 星操作替换。并在每行的多个位置执行此操作(所有匹配项)。

我试过:

sed  -i 's/(\s)*|/|/' DataStats0914.txt
Run Code Online (Sandbox Code Playgroud)

但它没有效果。

dai*_*isy 5

你为什么要引用它?如果您需要参考,请使用\(and\)代替,

另外,请注意该g选项,因为该模式多次出现

sed -i 's/\s*|/|/g' DataStats0914.txt

测试用例:

echo 'data | num | num | num | num' | sed 's/\s*|/|/g'

得到了:

data| num| num| num| num