FILE1:
sed 's/ *$//' b > c
4 Réponses :
Vous avez presque compris:
sed -i -e 's/^[ \t]*//;s/[ \t]*$//' a
J'envisagerais également de faire correspondre \ s code> qui est le générique "tous les caractères blanchisseurs".
Ne devrait-il pas être sed -e 's / ^ [\ t] * //; s / [\ t] * $ //' A> C code>?
Je vois toujours sed -e 's / ^ [\ t] * //; s / [\ t] * $ /' A> C code> qui ne fonctionne pas pour moi (Bash version 4.3.30 , Funtoo-Linux).
@Nikosalexandris - merci, maintenant je vois la barre oblique disparue. Fixé.
moyen plus facile, en utilisant AWK
awk '{gsub(/^ +| +$/,"")}1' file
Le premier a fonctionné parfaitement et est le plus simpliste - je sais ce n'est pas ce que j'ai demandé (c'est-à-dire SED) - mais c'est si élégant :). Je vais regarder dans gadx maintenant.
Le premier supprime tous les espaces blanchisseurs parasites, non seulement en tête et en traînant. Le second fonctionne mieux. awk code> est un excellent outil.
Ah, je vois les autres espaces enlevés avec le premier maintenant - le second fonctionne sans suppressions supplémentaires.
sed -e 's/something/something else/' -e 's/another substitution/another replacement/'
Notez que dans le cas plus général d'application de plusieurs filtres d'affilée à un fichier d'entrée sans utiliser de fichiers intermédiaires, la solution consiste à utiliser des tuyaux: évidemment, ils ne sont évidemment pas requis ici Parce qu'une invocation de SRD est suffisante, mais si la deuxième commande SED était quelque chose de différent, comme uniq ou trier, ce modèle est le bon. p> p>
Alors que la réponse de @ ghostdog74 est une bonne, la réponse de Mouviciel est le correct i> un, selon votre question. J'ai suscité les deux, mais je crois que @ Mouviciel mérite d'être accepté comme bonne réponse.
Vous êtes correct - Mouviciel est maintenant accepté. Merci à Mouviciel (réponse correcte) et Ghostdog74 (instructions à AWK) pour leur temps!