説明するのは難しいので、例から始めたいと思います。太字のテキストをご覧ください。
次のような非常に長いリストがあります。
http://dl3/film/**Daylights.End**.3*******************
http://dl45/film/**The.Wild.Life**.720***************
http://dl45/film/**The.Wild.Life**.10***************
http://dl3.pw/film/T**he.Wild.Life**.2*******************
http://dl45/film/**Daylights.End**.2*******************
の後に同じ文字列を含む重複行をすべて検索したいのです/film/
が、行の最後まで検索したくありません。検索では、10文字または20文字後の重複文字列を探す必要があります。/film/
- 後の文字列
/film/
が異なります。 - このメソッドは、5,000 行ほどのリストを検索し、重複する行をすべて見つけて、見つかったらそのうちの 1 つまたは 2 つを削除、切り取り、コピー、またはマークします。
前もって感謝します
答え1
試す
sed -n 's/^/@/' > newfile
または
sed -ni 's/^/@/'
@
どちらのコマンドも、最後のコマンドの各行の先頭に を挿入します。
答え2
素晴らしい、コマンド出力
cat 長いリスト |grep -Eo '/film/.{15}' |sort |uniq --repeated
重複する名前がすべて含まれているリストです。では、先頭行に @ のようなものを付けて重複する行をすべてマークするにはどうすればよいでしょうか?