19630


file1

[code]

    hoge piyo
    fuga piyo
    hoge piyo
    fuga piyo
    
[/code]

file2

[code]

    hogehoge piyopiyo
    fuga piyopiyo
    hogehoge piyopiyo
    fuga piyopiyo
    
[/code]

↓

file1

[code]

    hoge piyo
    hoge piyo
    
[/code]

file2

[code]

    hogehoge piyopiyo
    hogehoge piyopiyo
    
[/code]

file-huga

[code]

    fuga piyo
    fuga piyo
    fuga piyopiyo
    fuga piyopiyo
    
[/code]

このように複数のファイルの行頭が`fuga`の行を削除し、またその行を別のファイルにまとめて出力するにはどのようにしたらよいのでしょうか。


CC BY-SA 3.0
2015-12-04T12:23:40.703
19629
2018-06-20T06:24:20.813
9149
question
linux unix
ファイルの特定行を別ファイルに切り出すコマンド


sedで:

[code]

    $ sed -i -e '/^fuga/w file-huga' -e '//d' file1 file2
    
[/code]


CC BY-SA 3.0
2015-12-04T12:39:41.630
19630
2015-12-04T12:39:41.630
62
19629
answer


grep -v "^fuga" file1 > file1.new  
grep "^fuga" file1 file2 > file-fuga

ファイル名は別途書き換えてください。


CC BY-SA 4.0
2018-06-20T06:24:20.813
44908
2018-06-20T06:24:20.813
26927
19629
answer