2017-05-28 1 views
0

Hallo Ich versuche, alle Dateien in einem Verzeichnis zu löschen, wenn sie 'M' in ihren Namen haben und die gelöschten in einer Datei ANSWER umleiten und wenn Fehler in der Datei ERRORS.So habe ich diese erstellt 2-Dateien und ich habe versucht, alles auf einmal hier ist mein Code auszuführen:Redirecting Ausgabe und Fehler

rm $ (ls | grep 'm' > ANSWER 2>ERROR) 

aber ich th Fehlermeldung erhalten, dass rm Operand fehlt (I-Dateien haben, die m in ihrem Namen im aktuellen Verzeichnis haben)

Antwort

0

In Ihrem inneren Befehl wird die gesamte Ausgabe in die ANSWER-Datei umgeleitet und nichts bleibt für rm übrig. Sie können sehen, das, wenn Sie

ls | grep 'm' > ANSWER 2>ERROR

nichts auf den Bildschirm wird gedruckt bewerten. Um es in einem Befehl zu arbeiten, können Sie versuchen,

rm $(ls | grep 'm' > >(tee ANSWER) 2>ERROR)

mit tee auf der Standardausgabe zu schreiben und die Antwortdatei