Das Erklären ist schwierig. Ich möchte mit einem Beispiel beginnen. Bitte beachten Sie den fettgedruckten Text.
Ich habe eine sehr lange Liste, wie die folgende:
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*******************
Ich möchte alle doppelten Zeilen finden, die dieselben Zeichenfolgen nach enthalten /film/
, aber ich möchte die Zeile nicht bis zum Ende durchsuchen. Die Suche sollte nach doppelten Zeichenfolgen suchen, genau wie 10 oder 20 Zeichen nach/film/
- Die Zeichenfolgen danach
/film/
sind unterschiedlich. - Die Methode sollte eine Liste mit etwa 5.000 Zeilen durchsuchen und alle doppelten Zeilen finden und möglicherweise nach dem Auffinden eine oder zwei davon löschen, ausschneiden, kopieren oder markieren.
Dank im Voraus
Antwort1
Versuchen
sed -n 's/^/@/' > newfile
oder
sed -ni 's/^/@/'
Beide Befehle fügen @
am Anfang jeder Zeile Ihres letzten Befehls ein.
Antwort2
nett, Befehlsausgabe für
Katze lange Liste |grep -Eo '/film/.{15}' |sort |uniq --wiederholt
ist eine Liste, die alle doppelten Namen enthält. Wie kann ich nun alle doppelten Zeilen mit etwas wie einem @ in der Startzeile markieren?