Réponses:
«Supprimer tous les espaces vides» peut signifier l'une des différentes choses:
0x20.\t"\n" et autresSi sedce n'est pas une exigence pour une raison cachée, mieux vaut utiliser le bon outil pour le travail.
La commande trest principalement utilisée pour traduire (d'où le nom "tr") une liste de caractères en une liste d'autres caractères. En tant que cas d'angle, il peut se traduire par la liste vide de caractères; L'option -d( --delete) supprimera les caractères qui apparaissent dans la liste.
La liste des caractères peut utiliser des classes de caractères dans la [:...:]syntaxe.
tr -d ' ' < input.txt > no-spaces.txttr -d '[:blank:]' < input.txt > no-spaces.txttr -d '[:space:]' < input.txt > no-spaces.txtsedAvec sed, la [:...:]syntaxe des classes de caractères doit être combinée avec la syntaxe des jeux de caractères dans les expressions rationnelles [...], ce qui entraîne une certaine confusion [[:...:]]:
sed 's/ //g' input.txt > no-spaces.txtsed 's/[[:blank:]]//g' input.txt > no-spaces.txtsed 's/[[:space:]]//g' input.txt > no-spaces.txttr -d ' ' < input.txt > no-spaces.txt.
trmaintenant. (Le voyez-vous ailleurs?)
Vous pouvez l'utiliser pour supprimer tous les espaces blancs dans file:
sed -i "s/ //g" file
man sed | sed "s/ //g"
/par un caractère différent, par exemple:sed "ss ssg"