Schnellster Weg innerhalb einer Textdatei zu suchen?

498
Peter Payne

Ich würde gerne von Leuten hier Ratschläge bekommen. Ich versuche, eine lokal durchsuchbare einfache / flache Datenbank zu erstellen, die nur aus langen URLs von meiner Website besteht, und URLs, die ich mit bit.ly verkürzt habe. Ziel ist es, mit einem Tastendruck und Applescript / Terminal meine verkürzten URLs abrufen und neue hinzufügen zu können, falls sie noch nicht hinzugefügt wurden. Ich würde dies nacheinander auf drei verschiedenen Macs ausführen und meine Idee war, alle URLs in einer Textdatei zu haben, die mit Dropbox synchronisiert werden kann, da dies ziemlich zuverlässig ist.

Die Datenbank mit URLs enthält folgende Einträge:

https://www.jlist.com/category/calendars/anime-calendars?utm_source=twitter%26utm_medium=p

https://jli.st/2O3qCgx

Die obige URL ist eine Seite auf meiner Website, die untere URL ist die gekürzte URL. Ich versuche, diese Dateien jedes Mal zu "zwischenspeichern", wenn ich eine von Grund auf generiere. Die bit.ly-API schlägt mir zu und ich bekomme nur 500 API-Aufrufe pro Monat. Ich möchte auch die Geschwindigkeit erhöhen, wenn ich kann.

Meine Idee ist also, herauszufinden, wie man die Datei öffnet und sie mit grep schnell nach der (langen) Ziel-URL durchsucht. Wenn es dort ist, greife ich die URL eine Zeile darunter. Wenn dies nicht der Fall ist, muss ich die URL mit einem anderen Skript verkürzen und dann zur späteren Verwendung in meiner Textdatei speichern.

Ich möchte vor allem wissen, ob die Leute denken, dass ich auf dem richtigen Weg bin oder ob dies meine Bedürfnisse nicht erfüllt. Gibt es eine "bessere" Methode, um dies anzugehen, wie eine Art SQL-Datenbank, die jedoch automatisch von verschiedenen Macs ausgeführt und synchronisiert wird? Wenn mir jemand mit den Befehlen helfen kann, die ich für das Mac OS-Terminal benötige, wäre ich sehr dankbar.

Danke im Voraus!

0
Eine einzige Datenbanklösung würde Ihnen die beste Lösung bieten, da Sie unweigerlich die aktuellste Version Ihrer Datenbank / Datensätze für alle Ihre Geräte zur Verfügung haben möchten, wann immer Sie sie benötigen. Ich persönlich würde eine Maschine identifizieren, die ständig eingeschaltet ist, und den MySQL-Server darauf installieren, dann ein AppleScript- oder Bash-Skript schreiben, um eine lange URL zu akzeptieren, und die Datenbank mit der Datenbank vergleichen, falls sie nicht vorhanden ist und geben Sie die kurze UR zurück, andernfalls geben Sie die kurze URL zurück. Ihre Frage geht jedoch davon aus, nicht die beste zu sein, da die Anzahl der Lösungen groß sein wird. Kinnectus vor 6 Jahren 0
Danke für die Rückmeldung. Ich sollte beachten, dass ich oft in die USA gehe (aus Japan), damit ich nicht möchte, dass meine Daten "lokal" (oder was auch immer die beste Option war) bei mir ist. Wenn ich versuche, jeden Punkt zu vermeiden, an dem ein Computer offline ist, wird er mich umbringen ganze Fähigkeit zu suchen. Peter Payne vor 6 Jahren 0
Dies ist vielleicht übertrieben, aber haben Sie Code wie [YOURLS] (http://yourls.org/) in Betracht gezogen? MMB vor 6 Jahren 0

0 Antworten auf die Frage