Skip to content

Instantly share code, notes, and snippets.

@u1and0
u1and0 / simple_gpt.js
Created March 29, 2024 23:45
Simple GPT client Using deno
const apiKey = Deno.env.get("CHATGPT_API_KEY");
const url = "https://api.openai.com/v1/chat/completions";
const content = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${apiKey}`,
},
body: JSON.stringify({
model: "gpt-3.5-turbo",
@u1and0
u1and0 / curlgpt.sh
Last active July 20, 2023 00:41
Ask ChatGPT from terminal
#!/bin/sh
# ChatGPT client by ShellScript
# $ curlgpt "hello world!"
# or
# $ echo "hello world!" | curlgpt
#
# MIT License
#
# Copyright (c) 2023 u1and0
@u1and0
u1and0 / replacex.py
Created September 15, 2021 07:39
replace text in docx (Microsoft Word) file with changing color red and dump to terminal.
#!/usr/bin/env python3
""" docxファイルの文字列置換を行うモジュール
usage:
$ python replacex.py OLDWORD NEWWORD [FILENAMES...]
"""
import sys
from docx import Document
# from docx.shared import Pt
from docx.shared import RGBColor
@u1and0
u1and0 / autopandoc.sh
Last active February 3, 2021 01:43
Convert Markdown file to HTML file every 3sec using pandoc
#!/bin/sh
# Convert Markdown file to HTML file every 3sec using pandoc
# 引数に渡したmarkdownファイルを3秒ごとにpandocを通してhtml化する
# Requirement
# * docker
# * pandoc/core (docker container)
# Usage
# $ ~/sh/autopandoc.sh ./hoge.md
# then extract hoge.html
# Recommendation
@u1and0
u1and0 / gista-file
Created July 21, 2020 02:37
extract N columns between I row and J row using awk
[【 awk 】コマンド(応用編その6)――テキストの加工とパターン処理、複数ファイルの処理](https://www.atmarkit.co.jp/ait/articles/1806/01/news041.html#sample1)
```特定行
$ awk '{if (FNR==500){print FILENAME, $1, $3}}' 20200508_06*.txt | sed -e 's/.txt//g'
```
上記コマンドで 20200508_06(2020年5月8日 6時台)にマッチするファイルの500行目だけに対して
ファイル名(拡張子なし) | 1列目(行数) | 3列目(AVER)
を抜き出せます。
@u1and0
u1and0 / random_copy.sh
Created July 21, 2020 02:35
random 300 files copy to mlwork/data
## ランダムに300件のファイルをコピーする
```
$ shuf <(\ls 2020*) | grep -v 202004 | head -300 | xargs -I {} cp {} ../mlwork/data/
```
@u1and0
u1and0 / Vagrantfile
Last active February 12, 2022 01:38
vagrant file on windows machine mount share folders
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Requied vagrant plugin
# $ vagrant plugin install [NAME]
# sahara (0.0.17, global)
# - Version Constraint: > 0
# vagrant-cachier (1.2.1, global)
# - Version Constraint: > 0
# vagrant-disksize (0.1.3, global)
@u1and0
u1and0 / return_aslist
Last active June 19, 2020 09:47
引数がファイルのとき、標準入力のときの分岐
`sys.argv`がリストで返るので、`fileinput.input()`の結果もリスト形式で返るようにして使いました。
if Path(sys.argv[1]).exists(): # 第一引数がファイルだったら
# ファイルの内容を一行ずつOrder Search
ARGV = [ # 改行削除
line.replace('\n', '') for line in fileinput.input()
if line != '\n'
]
else: # 第一引数がファイルではなかったら
@u1and0
u1and0 / gista-file
Last active February 1, 2021 10:27
rgのpreオプションを使ってdocファイルをgrepする
### rgのpreオプションを使ってdocに対してripgrep
`rg 検索語 --pre catdoc --pre-glob "*.doc"`
### rgのpreオプションを使ってxlsに対してripgrep
` rg 検索語 --pre xls2csv --pre-glob "*.xls" *.xls`
### rgのpreオプションを使ってxlsxに対してripgrep
` rg 検索語 --pre xlsx2csv --pre-glob "*.xlsx" *.xlsx`
@u1and0
u1and0 / gista-file
Created June 18, 2020 23:10
install nkf for msys2
## nkf on msys2 install
```sh
$ mkdir -p ~/abs/nkf # absにパッケージtar.gzを入れる
# https://wiki.archlinux.jp/index.php/%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E4%BD%9C%E6%88%90
$ cd ~/abs/nkf
$ curl -fsSL https://ja.osdn.net/projects/nkf/downloads/70406/nkf-2.1.5.tar.gz/
$ tar -xvf nkf-2.1.5.tar.gz
$ cd nkf-2.1.5
$ make