LoginSignup
0
0

More than 5 years have passed since last update.

gibo の名前を正規化するスクリプト

Last updated at Posted at 2015-05-12

経緯

.gitignore は自動生成してる にも書いたとおり gibo を使っている。

gibo では大文字・小文字のどちらでも参照することはできる。
でも自分自身で書く範疇では大文字・小文字をきちんと区別して表記したくなった。

手軽に gibo で定めている正式名称を得る方法が欲しい。

スクリプト

そこで「標準入力で受け取った言語名・フレームワーク名を正しい表記にして返す」スクリプトをさっと書いてみた。
その名も giboexact

giboexact
#!/usr/bin/env bash
set -uo pipefail
set noclobber
umask 0777

export PATH='/bin:/usr/bin'
export LANG='C'

gibodir="$HOME/.gitignore-boilerplates"

while IFS='' read word
do
    ls -1 "$gibodir" "$gibodir"/Global \
    | sed -e 's/.gitignore$//' \
    | grep -i "^$word$"
done

egrep|grep, GNU|BSD のオプションの違いに苦戦するのが嫌だったので、すこし冗長だが sed を経由している。
また、 Bash を前提にしているが、 Bash 固有の文字列置換は使わないようにした。

使い方

標準入力に入力したものが標準出力で正規化されて出てくる。
以下の例では何もリダイレクトしていないので、 1 行ずつ交互に入力・出力を繰り返す。 (cat 等と同じような挙動 )

$ chmod +x giboexact
$ ./giboexact
python
Python
wordpress
WordPress
linux
Linux
$ # (注 ^D で終了している)

書式にこだわるなら、さらにこの結果を | sort -n | uniq とパイプしてアルファベット順・重複なしを保証しよう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0