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.
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
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'
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