Benutzer:Andreas Plank/Hilfreiche Kommandos für Text-Suche oder Text-Prozessierung (Linux)
< Benutzer:Andreas Plank
Zur Navigation springen
Zur Suche springen
Version vom 26. Mai 2022, 20:02 Uhr von Andreas Plank (Diskussion | Beiträge) (→Telegram-Plausch Such-Marker)
Nur die ersten 3 Textfunde ausgeben und mehr nicht (hier XML-Beispiel):
cat Eine-RDF-oder-XML-Datei.rdf | awk '/<\?xml/ {zaehlefund++; if(zaehlefund>3){auszugeben=0}else{auszugeben=1}}; auszugeben {print};' # Such-Übereinstimmung abgezählt ausgeben (bis zum 3. Mal) cat A-RDF-or-XML-file.rdf | awk '/<\?xml/ {countxml++; if(countxml>3){printing=0}else{printing=1}}; printing {print};' # count search match and print it until the 3rd time
Telegram-Plausch Such-Marker
Suchmarker eines Telegram-Kanals herauslesen (und durchzählen):
- mit Telegram-Desktop-Programm ein „Chatexport“ ausführen lassen (über das Gruppen-Menü ⋮, nur das HTML zu entnehmen ist hinreichend genug)
- Speicherpfad ggf. im Skript anpassen (hier liegt aller Plausch/Geschreibe (Chat) im persönlichen Verzeichnis
~/Heruntergeladen/Telegram\ Desktop/ChatExport_2022-05-26
vor jeweils diemessages*.html
)
# sed -nr ist Kurzbefehl für sed --silent --regexp-extended
sed -nr '# stillschweigend suchen
s@>(#[^<>]+)</a>@\nSuch-Marker: \1\n@gp;
# suche <a>#…</a>
# → ersetze: \nSuch-Marker: #gefundener-Suchmarker\n
# gp → g=globales Suchen, p=print, Ersetzung ausgeben
' ~/Heruntergeladen/Telegram\ Desktop/ChatExport_2022-05-26/messages*.html \
| grep -i 'Such-Marker' \
| sort | uniq --count | sort -k3 \
> ~/Kanal-xy-Such-Marker_$(date '+%Y%m%d-%H%M').txt
# grep → nur die Zeilen mit „Such-Marker“ herausfischen
# sort → vorsortieren
# uniq --count → einzelich machen aber zusammenzählen
# sort -k3 → zusammenbezählte Such-Marker nach 3. Spalte (die Suchmarker-Spalte) sortieren