Je suis paranoïaque à ce sujet, mais j'espère que c'est une question simple:
Y a-t-il une différence entre
cat file1 | egrep -oP "[Mm]y string" > /home/user/file.txt
et
cat file1|egrep -oP "[Mm]y string">/home/user/file.txt
c'est-à-dire, est-ce important si j'ai des espaces remplissant les caractères pipe (|) et redirection (>)? Je suis vraiment paranoïaque qu'en ayant des espaces là-bas, les espaces finiront en quelque sorte dans le fichier de sortie quand je ne le veux pas. Quelqu'un peut-il clarifier? (Utilisation d'Ubuntu 12 / bash si cela importe.)
shell
command-line
shell-script
Magnus
la source
la source
|
ou>
alors taperCtrl-W
pour supprimer le "mot" précédent supprimerait plus que vous ne le souhaitiez probablement. idem pour les frappes de mouvements de curseur commeEsc-f
etEsc-b
etc.Réponses:
Dans la ligne de commande du shell, les espaces sans guillemets ne servent qu'à délimiter les mots lors de l'analyse des commandes. Ils ne sont pas transmis, ni dans les arguments que la commande voit ni dans le flux d'entrée standard.
la source