Dream Driven Development。夢を形にしよう!

便利なワンライナー

便利なワンライナー


ちょっとしたことを一行のコマンドで実施する便利なワンライナー
先人の知恵に感謝しながら使い倒しましょう。

CRLF変換

Windows/Mac/Linuxと開発環境が散らばっている人は必須のCRLF -> LF変換

find ./ -name '*.txt' | xargs sed -i -e 's/\r//g'

linux/wsl
Macはちょっとやり方が変

export LANG=C;find ./ -name '*.txt' -print0 | xargs -0 sed -i.bak 's/'$'\r//'

macの場合

蛇足: vimの場合

:set fileformat = unix

特定の文字列を含むファイルをリストアップ

「あー。あのモジュール使って昔作ったなぁ、どこいったっけ?」
という時に一発でファイルを探すワンライナー。めっちゃよく使います。

find ./ -name "*.py" | xargs grep "import re$"

正規表現モジュールをインポートしているpythonスクリプト

ついでに検索の前後の行も出したいときはgrepの部分を以下のように

grep -3 -n xxxx   #前後3行
grep -A 3 -n xxxx #後3行

Webサーバーワンライナー

手元でwebサーバーが立ち上がると便利。http://localhost:8080/でアクセスできます。

python3 -m http.server 8080 --cgi #cgi のときはcgi-binフォルダに.py入れる

pythonの場合

ruby -run -e httpd . -p 8080

rubyの場合

csvの特定カラムのユニークな値リスト

「名前,都道府県名,…」というcsvで都道府県名は何種類あるの?
みたいな時にササッと

cut -d, -f2 file.csv | sort | uniq -c
cutのオプション 意味
-d デリミタ(区切り文字)
-f 何番目のフィールドか
|

お気に入りサイト