2009-10-29 5 views
0

Comment capturer une erreur d'une commande sed dans un fichier? Voici la commande sed J'utilise:Capture du flux d'erreur à partir d'une commande sed

sed -e 's/'old_word'/'new_word'/' temp_file > output_file 

Maintenant, quand tout va bien, le contenu modifié de temp_file sont capturés dans output_file. Mais disons que output_file arrive à être lu seulement. Dans ce cas, au lieu d'afficher l'erreur à l'écran, j'aimerais la rediriger vers error_file. Comment puis je faire ça? J'ai essayé d'ajouter 2> error_file à la fin de la commande ci-dessus mais cela n'a pas fonctionné.

Merci.

+0

De quelle manière at-il « fonctionne pas »? À quoi servent toutes les citations supplémentaires? Vous pouvez le faire: 'sed -e 's/old_word/new_word /' TEMP_FILE> output_file 2> error_file' –

+0

Il ne fonctionne pas parce que je fait output_file lecture seule et en exécutant la commande. Le message d'erreur apparaissait toujours sur la console. Les citations supplémentaires sont parce que old_word et new_word sont en fait des variables dans mon script. – Rohit

Répondre

0
sed -e 's/'old_word'/'new_word'/' temp_file > output_file 2>error_file 
0

Après commande fonctionne pour moi comme un charme:

sed -e 's/'old_word'/'new_word'/' temp_file > output_file 2> sed_error 

Assurez-vous de ne pas mettre de l'espace entre 2 et >.

Questions connexes