Fishに限らずだが、ちょっとした文字列操作の関数をたくさん作ったら便利になった。
今まで、 perl -pe s/hoge/fuga/g
みたいにやってたのがもっと速くできるようになった。
~/.config/fish/config.fish
function sub
perl -pe "s#$argv[1]#$argv[2]#"
end
function gsub
perl -pe "s#$argv[1]#$argv[2]#g"
end
function insert
perl -pe "s#^#$argv[1]#g"
end
function append
perl -pe "s#\$#$argv[1]#"
end
function delete
perl -pe "s#$argv[1]##g"
end
都道府県から配列を作る時はこんな感じ
最近 paste
と psub
コマンドに可能性を大いに感じている。
paste (seq 10 | insert "['id' => " | psub) \
(cat pref.txt | insert ", 'name' => '" | append "']," | psub ) \
| sub '\t' ''
['id' => 1, 'name' => '北海道'],
['id' => 2, 'name' => '青森県'],
['id' => 3, 'name' => '岩手県'],
['id' => 4, 'name' => '宮城県'],
['id' => 5, 'name' => '秋田県'],
['id' => 6, 'name' => '山形県'],
['id' => 7, 'name' => '福島県'],
['id' => 8, 'name' => '群馬県'],
['id' => 9, 'name' => '栃木県'],
['id' => 10, 'name' => '茨城県'],