ファイル内のパターンに一致する行の選択と削除

ファイル内のパターンに一致する行の選択と削除
grep -Eri "drucken" app/views

app/views/meths/_form.html.erb:                                <li class="hidden-phone"><a onclick="javascript: print();" class="">Methode drucken</a></li>
app/views/clients/show.html.erb:                    <li><a onclick="javascript: print();" class="" value="drucken">drucken</a></li>
app/views/clients/index.mobile.html.erb:                                <li class="hidden-xs"><a onclick="javascript: print();" class="">KlientInnen drucken</a></li>
app/views/treatments/index.html.erb:                        <li><a onclick="javascript: print();" class="" value="drucken">drucken</a></li>

次のタスクを実行できるソリューションを探しています。

grep -Eri "drucken" app/views | xargs INTO_A_FANCY_TOOL_WHICH_REMOVES_THOSES LINES

修正する:

ファイルからこの行を削除したいと思います。

ベストアンサー1

次のことを試してみましたか?

grep -Eri -l "drucken" app/views | xargs sed -e '/drucken/d' -i

"-l"はgrepにファイル名のみを印刷するように指示し、"-i"はsedにファイルを動的に変更するように指示します。

または、sedを使用してすべてのファイルを繰り返すことができますが、要求された単語が含まれていなくても、すべてのファイルを「接触」します。

find app/views -type f -exec sed -e '/drucken/d' -i {} \;

おすすめ記事