sed を使用して、区切り文字の前のスペースを削除します。

sed を使用して、区切り文字の前のスペースを削除します。

LibreOffice calcに入力したい次の形式のデータがあります。

data | num   | num | num     | num

何らかの理由で、Libreofficeはデフォルトで文字列 "3214"を数字(末尾の空白)と見なします。

スペースとKleene固有の作業を表す(\s)*|場所を変更したいです。そして、1行に複数の場所でこれを行います(すべての一致)。|\s*

私は試した:

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

しかし、役に立たない。

ベストアンサー1

なぜ引用するのですか?参照が必要な場合は、代わりに\(とを使用してください\)

gまた、このオプションはパターンが複数回表示されるので注意してください。

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

テストケース:

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

得る:

data| num| num| num| num

おすすめ記事