2009-10-29 4 views
1

Je dois supprimer les trois premières occurrences d'espace par ligne dans un fichier texte.Supprimer les trois premières occurrences de l'espace

J'ai essayé ce qui suit:

sed 's/ //3' 

Cela supprime seulement la troisième occurrence.

sed 's/ //3g' 

Cela laisse les trois premières occurrences de l'espace seul et supprime tous les éléments suivants, c'est exactement le contraire de ce que je veux.

Répondre

6
sed -e 's/ //' -e 's/ //' -e 's/ //' 
+3

' 's///; s///; // s /'' J'ai sauvé 10 caractères! – LiraNuna

+0

Je ne peux pas croire que je n'ai pas pensé à cette solution. – ytu903

0

sed 's/ \{1,3\}//' < file.txt

+0

Seulement obtient le premier pour moi ... vous sûr? – Deverill

+2

Cela ne fonctionne que s'il y a 3 espaces consécutifs. – EmFi

+0

Utilisation inutile de 'cat' –

1
 
sed 's/ \([^ ]*\) \([^ ]*\) /\1\2/' < filename 
+0

À quoi sert la redirection? –

+0

pas besoin de redirection .... – ghostdog74

+0

Vous avez raison. Force d'habitude. – Beta

Questions connexes