Perl Hackers Hub
第57回 自作ツールによる日常業務効率化―初歩的なコードだけで身近な問題を解決!(3)
最小限のコードで書く
最後に,
拡張子が異なる同名ファイルを同時に開く
現在筆者が勤めるヴェルク
本文データ
source/helps/help_how_to_contact.html
その他のデータ
source/helps/help_how_to_contact.yml
筆者はかつて編集者だった経験を活かして,
しかし,find-file-open.
です。
find-file-open.
my $query = $ARGV[0];
unless ($query) {
say "Input a query.";
exit;
}
my $result = `find . -iname "*$query*"`;
print $result;
my @result = split /\n/, $result;
say "\nTotal files: ".scalar @result;
print "OK? (y/N)\n> ";
my $answer = <STDIN>;
chomp $answer;
if ($answer eq 'y') {
for (@result) {
print `open $_`;
}
}
本ツールは,
シェルコマンドのfind
とopen
を少し使っている以外はPerlで書かれており,
- 注1)
- 詳しくは当社代表によるブログ記事
「ヘルプのバージョン管理・ 編集・ デプロイの仕組みを整備した話」 をご覧ください。
使い方
では,help_
)fo
というエイリアスで呼び出します。
.bashrc
alias fo='perl path/to/find-file-open.pl'
実行例
$ fo help_how_to_contact
すると,y
で決定し,
./source/helps/help_how_to_contact.html
./source/helps/help_how_to_contact.yml
Total files: 2
OK? (y/N)
> y
この場合は,
このツールによって,
まとめ
本稿では,
さて,
本誌最新号をチェック!
WEB+DB PRESS Vol.122
2021年4月24日発売
B5判/168ページ
定価1,628円
(本体1,480円+税10%)
ISBN978-4-297-12119-8
- 特集1
上から下まで全レイヤ解説! 複雑化した世界を体系的に学ぶ
Web技術総整理 - 特集2
新バージョン登場! PythonによるWeb開発の基本
はじめてのDjango - 特集3
Rustで実装!
作って学ぶRDBMSのしくみ
バックナンバー
Perl Hackers Hub
- 第65回 依存モジュールの更新 ―update-cpanfile,GitHub Actionsで実現!(2)
- 第65回 依存モジュールの更新 ―update-cpanfile,GitHub Actionsで実現!(1)
- 第64回 少しマニアックなPerlのテクニック―特殊変数,低レベルの標準関数を使いこなす(2)
- 第64回 少しマニアックなPerlのテクニック―特殊変数,低レベルの標準関数を使いこなす(1)
- 第63回 PPIとPerl::Tidyを組み合わせて作るコード整形ツール(2)
- 第63回 PPIとPerl::Tidyを組み合わせて作るコード整形ツール(1)
- 第62回 Perl歴史散策 ―インタプリタの実装と,構文の進化をたどる(3)
- 第62回 Perl歴史散策 ―インタプリタの実装と,構文の進化をたどる(2)
- 第62回 Perl歴史散策 ―インタプリタの実装と,構文の進化をたどる(1)
- 第61回 GitHub ActionsとAmazon ECSを使ったDockerアプリケーションの自動デプロイ(3)