- 追加された行はこの色です。
- 削除された行はこの色です。
* ackコマンド [#r0d63c65]
** ファイル構成 [#u38a0181]
$ tree .
** インストール [#a47531ea]
- CPANモジュールとしてインストールするか、シングルファイル(Perlスクリプトファイル)をダウンロードしてパスを通すか。
- http://beyondgrep.com/install/
** ファイル構成 [#p53a68a4]
.
|-- 1.csv
|-- 1.pl
|-- 1.rb
|-- dir_a
| |-- 1.csv
| `-- 1.pl
`-- dir_b
`-- 1.pl
2 directories, 6 files
** 文字列を検索する [#b19f7494]
$ ack 'perl' .
1.pl
1:#!/usr/bin/perl
dir_b/1.pl
1:#!/usr/bin/perl
dir_a/1.pl
1:#!/usr/bin/perl
** すべてのファイルタイプを対象にする [#ncf7e843]
$ ack -a perl .
1.pl
1:#!/usr/bin/perl
1.csv
1:perl,ruby,bash
dir_b/1.pl
1:#!/usr/bin/perl
dir_a/1.pl
1:#!/usr/bin/perl
dir_a/1.csv
1:perl,ruby,bash
** ファイルタイプを指定する [#hffa2b21]
$ ack --type=ruby usr .
1.rb
1:#!/usr/bin/ruby
** ファイルタイプを除外指定する [#u68f8cc7]
$ ack --type=noruby usr
1.pl
1:#!/usr/bin/perl
dir_b/1.pl
1:#!/usr/bin/perl
dir_a/1.pl
1:#!/usr/bin/perl
** ファイルパスに条件を付ける [#h3b41069]
$ ack -G _a perl .
dir_a/1.pl
1:#!/usr/bin/perl
** マッチしたファイルのファイル名のみを表示する [#kf9aa316]
$ ack -l perl .
1.pl
dir_b/1.pl
dir_a/1.pl
** マッチしなかったファイルのファイル名のみを表示する [#dabff6aa]
$ ack -L perl .
1.rb
** ファイル名一覧の区切りを(改行ではなく)ヌル文字にする [#rbbdd88d]
ack -l --print0 perl . | xargs -0 rm -rf {}
** 参考 [#y7e01d82]
http://search.cpan.org/perldoc?ack