* ackコマンド [#r0d63c65]

** インストール [#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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS