Comment puis-je assortir les espaces dans sed? Dans mes données, je souhaite faire correspondre tous les 3 + espaces blancs suivants (espace de tabulation) et les remplacer par 2 espaces. Comment cela peut-il être fait?
sed
whitespace
Peter Smit
la source
la source
sed
je devais utiliser[[:space:]]
car\s
cela ne fonctionnait pas pour moi. Peut\s
- être est une extension GNU sed ?[[:space:]
un, vous pouvez utiliser[[:blank:]]
ce qui ne correspond qu'aux onglets et espaces horizontaux (mais pas aux nouvelles lignes, aux onglets verticaux, etc.).Cela fonctionne sur MacOS 10.8:
la source
sed "s/[[:space:]]\+/ /g"
faire correspondre un ou plusieurs espaces.-E
drapeau.Certaines versions plus anciennes de sed peuvent ne pas reconnaître \ s comme un jeton de correspondance d’espace. Dans ce cas, vous pouvez faire correspondre une séquence d'un ou plusieurs espaces et onglets avec '[XZ] [XZ] *' où X est un espace et Z est un onglet.
la source
la source
sed
n'importe quel système? Si ce n'est pas le cas, il pourrait être intéressant de préciser où cela fonctionne de la même manière que les autres réponses, afin que nous connaissions les limites et où cela pourrait ne pas avoir le résultat escompté.