ちょっとしたことを一行のコマンドで実施する便利なワンライナー
先人の知恵に感謝しながら使い倒しましょう。
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 | 何番目のフィールドか |