[PYTHON] So erstellen Sie einen Artikel über die Befehlszeile

Einführung

Es spielt keine Rolle, ob es sich um ein Blog oder Qiita über die Befehlszeile handelt, aber das Posten einiger Sätze ist überraschend einfach. Ich denke, es ist praktisch, einen solchen Mechanismus zu erstellen.

Das Öffnen, Kopieren und Aufschreiben eines Browsers im Editor, wenn etwas zu untersuchen ist, ist für einen CLI- oder CUI-Benutzer eines der schwierigsten Dinge. Dieses Mal möchte ich einige persönliche Tipps vorstellen, die in solchen Fällen nützlich sind.

Übrigens werden hier CLI (Command Line User Interface) und CUI (Character User Interface) synonym verwendet. Mit anderen Worten, es wäre schön, wenn Sie es sich als schwarzen Bildschirm vorstellen könnten, aber speziell tun Sie es auf dem Terminal (Terminal). Ich frage mich, ob ich es oft CUI nenne. Weil es als Paar mit GUI verwendet werden kann. Der Titel verwendet CLI.

Lassen Sie uns Sätze aus dem Web extrahieren

Ein Python-Tool namens "html2text" ist sehr nützlich, um den gewünschten Text aus dem Web abzurufen. Es zeigt HTML im Textformat an. Daher kann die Ausgabe von "wget" und "curl" so wie sie ist verwendet werden, was einfach ist.

python


$ pip install html2text

$ curl -sL http://qiita.com/syui/items/ab6a11aa57df8590d645 | html2text

Verwenden Sie peco, um einen Satz zu extrahieren. Es ist ein Golang-Tool, aber Sie können die gewünschte Ausgabe auswählen.

python


$ go get github.com/peco/peco/cmd/peco

$ curl -sL http://qiita.com/syui/items/ab6a11aa57df8590d645 | html2text | peco

Übrigens sind peco und html2text sehr einfach zu verwenden, daher möchten Sie möglicherweise einen globalen Alias usw. festlegen.

~/.zshrc


alias -g P='|peco'
alias -g H='|html2text'
alias -g J='|jq'

Jetzt können Sie es wie folgt verwenden.

python


# ls -A | peco
$ ls -A P

Lassen Sie uns im gewünschten Format ausgeben

Jq ist nützlich für Leute, die sich in JSON Notizen machen. Persönlich werden Qiitas Beiträge und Beiträge in Blogs automatisch in dem vorgeschriebenen Format von Notizen erstellt und veröffentlicht, die in JSON erstellt wurden, aber beispielsweise in Artikeln wie diesen Ich werde mich versöhnen.

python


$ sudo pacman -S jq

json und jq sind einfach, wenn Sie sich erst einmal an sie gewöhnt haben, aber wenn Sie sich nicht an sie gewöhnt haben, wird es zunächst schwierig sein, sie zu verwenden. Hier sind vorerst einige hilfreiche Befehle. Sie können den Wert wie folgt abrufen.

hoge.json


[
  {
  "title": "json",
  "tags": [ { "name": "json" }, { "name":"text"}, { "name":"golang"}, { "name":"html"}, { "name":"python"} ],
  "body": "hello world",
  "coediting": false,
  "gist": false,
  "private": false,
  "tweet": false
  }
]

python


#Extrahieren Sie den gesamten Wert
$ cat hoge.json | jq .

#Wert ohne Konvertierung extrahieren, Klammern"Beseitigen, abschütteln
$ cat hoge.json | jq -r .

#Klammern[]Nehmen Sie das Innere vorerst heraus
$ cat hoge.json | jq '.[]'

#Klammern{}Geben Sie die Nummer in der Reihenfolge an
$ cat hoge.json | jq '.[0]'

#Klammern{}Extrahieren Sie, indem Sie den Wert des Titels in angeben
$ cat hoge.json | jq '.[].title'
$ cat hoge.json | jq '.[]|.title'

#Klammern[]Nur der Wert in Klammern"Nehmen Sie alles außer heraus
$ cat hoge.json | jq -r '.[]|.[]'

#Nehmen Sie alle Tags heraus
$ cat hoge.json | jq '.[].tags|.[].name'

#Extrahieren Sie durch Angabe der Anzahl der Tags
$ cat hoge.json | jq '.[].tags|.[1,2].name'

Suchen und extrahieren Sie das erforderliche Teil

Manchmal möchten Sie den benötigten Text suchen und abrufen. In einem solchen Fall ist es zweckmäßig, das folgende Skript zu erstellen.

Verwenden Sie es wie "$ ./search.sh arch linux json".

search.sh


#!/bin/zsh

startpage="https://startpage.com/do/search?q="

case $1 in
    *)
        if [ ! $# = 0 ];then
            keyword=${startpage}`echo "${@}"|tr ' ' '+'`
            echo $keyword
            one_step=`curl -sL ${keyword} | html2text | grep '###' | peco |cut -d"(" -f2 | cut -d")" -f1`
            two_step=`curl -sL ${one_step} | html2text | peco`
            case $OSTYPE in
                darwin*)
                    echo "$two_step"| pbcopy && pbpaste
                ;;
                linux*)
                    echo "$two_step"| xclip -i -sel c && xclip -o -sel c
                ;;
            esac
        else
            echo '
            g <hoge> : google.com/search?q=<hoge>
            '
        fi
        ;;
    h|-h|-[hH]elp|--[hH]elp)
        echo '
        g <hoge> : google.com/search?q=<hoge>
        '
        ;;
esac

'

Recommended Posts

So erstellen Sie einen Artikel über die Befehlszeile
[EC2] So installieren und laden Sie chromedriver über die Befehlszeile herunter
So messen Sie die Leitungsgeschwindigkeit vom Terminal aus
(Denken Sie schnell daran) Verwendung der LINUX-Befehlszeile
Übergeben von Argumenten beim Aufrufen von Python-Skripten über Blender in der Befehlszeile
So erstellen Sie einen Klon aus Github
So erstellen Sie eine NVIDIA Docker-Umgebung
[Linux] Verwendung des Befehls echo
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
So bedienen Sie Linux von der Konsole aus
So extrahieren Sie die gewünschte Zeichenfolge aus einem Befehl in Zeile 4
Erstellen Sie benutzerdefinierte Django-Befehle und führen Sie sie über die Befehlszeile aus
So erstellen Sie ein Repository aus Medien
So greifen Sie von außen auf den Datenspeicher zu
So erstellen Sie eine Anwendung aus der Cloud mithilfe des Django-Webframeworks
[Python] So testen Sie den Befehlszeilen-Parser-Klick
So empfangen Sie Befehlszeilenargumente in Python
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
So erstellen Sie einen OCF-kompatiblen Ressourcenagenten
So bedienen Sie Linux von außen Vorgehensweise
So erstellen Sie ein 1-zeiliges Kivy-Eingabefeld
Konvertieren Sie XLSX in CSV in der Befehlszeile
Erstellen Sie einen Befehl, um das Arbeitsprotokoll abzurufen
Ein Artikel, der die Fallstricke von Python zusammenfasst
[Python] So entfernen Sie doppelte Werte aus der Liste
So schreiben Sie eine GUI mit dem Befehl maya
So löschen Sie die angegebene Zeichenfolge mit dem Befehl sed! !! !!
Öffnen Sie die Chrome-Version von LINE über die Befehlszeile [Linux].
So erstellen Sie ein Untermenü mit dem Plug-In [Blender]
Backtrader So importieren Sie einen Indikator aus einer anderen Datei
Linux-Benutzer hinzufügen, wie der Befehl useradd verwendet wird
Verwendung des Befehls grep und häufiger Samples
So starten Sie Jupyter Notebook sofort vom Terminal aus
So erstellen Sie einen Bild-Uploader mit Bottle (Python)
Wie man das Dokument der magischen Funktion (Linienmagie) trifft
So veröffentlichen Sie ein Ticket über die Shogun-API
Fügen wir es der Umgebungsvariablen mit dem Befehl ~ hinzu
Sphinx-Schnellstart wurde zu einem Problem und ich versuchte, einen alternativen Befehl zu erstellen, und der Stress verschwand
Verwendung der NUITKA-Utilities-Hinweis-Kompilierung zum einfachen Erstellen einer ausführbaren Datei aus einem Python-Skript
Verwendung des Generators
Poste Twitter über die Kommandozeile
Wie benutzt man den Dekorateur?
So erhöhen Sie die Achse
So starten Sie die erste Projektion
Ein Befehlszeilentool, das .gitkeep in ein leeres Verzeichnis legt
Suchen Sie unter Linux über die Befehlszeile nach großen Dateien
So generieren Sie einen öffentlichen Schlüssel aus einem privaten SSH-Schlüssel
So manipulieren Sie das DOM im Iframe mit Selen
Berechnen des aus ABC134-D gelernten Rechenaufwands
So melden Sie sich automatisch wie 1Password von der CLI an
So nehmen Sie erste Einstellungen für die Django-Projekterstellung vor
So geben Sie Befehlszeilenargumente beim Debuggen mit PyCharm an
Wie man NAPALM aus dem Web erreicht (NetDevOpsSec echte Lösung)
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
So erstellen Sie eine ISO-Datei (CD-Image) unter Linux