Peu importe qu'il s'agisse d'un blog ou de Qiita depuis la ligne de commande, mais publier des phrases est étonnamment facile, donc je pense qu'il est pratique de créer un tel mécanisme.
La procédure d'ouverture d'un navigateur, de le copier et de l'écrire dans l'éditeur lorsqu'il y a quelque chose à étudier est l'une des choses les plus gênantes pour un utilisateur CLI ou CUI. Cette fois, je voudrais vous présenter quelques conseils personnels qui sont utiles dans de tels cas.
À propos, CLI (interface utilisateur de ligne de commande) et CUI (interface utilisateur de caractère) sont ici utilisés de manière interchangeable. En d'autres termes, ce serait bien si vous pouviez l'imaginer comme un écran noir, mais plus précisément, vous le faites sur le terminal (Terminal). Je me demande si je l'appelle souvent CUI. Parce qu'il peut être utilisé en paire avec une interface graphique. Le titre utilise CLI.
Un outil Python appelé html2text
est très utile pour récupérer le texte souhaité sur le Web. Il affiche le HTML au format texte. Par conséquent, la sortie de «wget» et de «curl» peut être utilisée telle quelle, ce qui est facile.
python
$ pip install html2text
$ curl -sL http://qiita.com/syui/items/ab6a11aa57df8590d645 | html2text
Utilisez peco
pour extraire une phrase. C'est un outil golang, mais vous pouvez choisir la sortie que vous voulez.
python
$ go get github.com/peco/peco/cmd/peco
$ curl -sL http://qiita.com/syui/items/ab6a11aa57df8590d645 | html2text | peco
À propos, peco
et html2text
sont très faciles à utiliser, vous pouvez donc définir un alias global, etc.
~/.zshrc
alias -g P='|peco'
alias -g H='|html2text'
alias -g J='|jq'
Vous pouvez maintenant l'utiliser comme suit.
python
# ls -A | peco
$ ls -A P
Jq
est utile pour les personnes qui prennent des notes en JSON. Personnellement, les messages de Qiita et les messages sur les blogs sont tous automatiquement créés et publiés dans le format prescrit de notes prises en JSON, mais par exemple, des articles comme celui-ci Je vais rattraper.
python
$ sudo pacman -S jq
json
et jq
sont faciles une fois que vous vous y êtes habitué, mais si vous ne vous y habituez pas, il sera difficile à utiliser au début. Pour le moment, voici quelques commandes utiles. Vous pouvez récupérer la valeur de cette manière.
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
#Extraire la valeur entière
$ cat hoge.json | jq .
#Extraire la valeur sans conversion, parenthèses"Se débarrasser de
$ cat hoge.json | jq -r .
#supports[]Sortez l'intérieur pour le moment
$ cat hoge.json | jq '.[]'
#supports{}Spécifiez le nombre dans l'ordre de
$ cat hoge.json | jq '.[0]'
#supports{}Extraire en spécifiant la valeur du titre dans
$ cat hoge.json | jq '.[].title'
$ cat hoge.json | jq '.[]|.title'
#supports[]Seule la valeur entre parenthèses"Sortez tout sauf
$ cat hoge.json | jq -r '.[]|.[]'
#Retirez toutes les balises
$ cat hoge.json | jq '.[].tags|.[].name'
#Extraire en spécifiant le nombre de balises
$ cat hoge.json | jq '.[].tags|.[1,2].name'
Parfois, vous souhaitez rechercher et récupérer le texte dont vous avez besoin. Dans un tel cas, il est pratique de créer le script suivant.
Utilisez-le comme $ ./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