Déplacer les lignes correspondant à un motif à partir d'un fichier à l'autre

Je veux déplacer les lignes correspondant à certain modèle de fichier1 à fichier2. Analogue à l'opération couper et coller à partir d'un fichier à un autre dans windows

Exemple

disons que je veux couper toutes les lignes contenant bar de fichier1 et le coller dans nouvellement créé fichier2

D'entrée:

fichier1

bla foo bla
bla bar bla
bla aaa bla
bla bar bla
bla foo bla

De sortie désiré après le traitement:

fichier1

bla foo bla
bla aaa bla
bla foo bla

fichier2

bla bar bla
bla bar bla

Ce que j'ai essayé

grep crée souhaité fichier2 mais ne modifie pas la fichier1

grep 'bar' file1 > file2

sed -i modifie souhaité fichier1 mais ne crée pas de fichier2

sed -i '/bar/d' file1

Si je exécuter les deux commandes l'une après l'autre, j'obtiens le résultat souhaité. Mais ici, je suis à la recherche d'un seule ligne de commande de la curiosité et de faire un script plus concis.

Votre aide serait appréciée.

Pourquoi -1? Pas de commentaire? Celui qui ne qui devrait montrer comment résoudre ce problème en ligne de commande avant d'en bas à droit de vote!
Vote pour fermer sans donner de raison ou un commentaire?! C'est trop.

OriginalL'auteur jkshah | 2013-10-19