ackコマンド

インストール

  • CPANモジュールとしてインストールするか、シングルファイル(Perlスクリプトファイル)をダウンロードしてパスを通すか。
  • http://beyondgrep.com/install/

ファイル構成

 .
 |-- 1.csv
 |-- 1.pl
 |-- 1.rb
 |-- dir_a
 |   |-- 1.csv
 |   `-- 1.pl
 `-- dir_b
     `-- 1.pl
 
 2 directories, 6 files

文字列を検索する

 $ ack 'perl' .
 1.pl
 1:#!/usr/bin/perl
 
 dir_b/1.pl
 1:#!/usr/bin/perl
 
 dir_a/1.pl
 1:#!/usr/bin/perl

すべてのファイルタイプを対象にする

 $ 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

ファイルタイプを指定する

 $ ack --type=ruby usr .
 1.rb
 1:#!/usr/bin/ruby

ファイルタイプを除外指定する

 $ 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

ファイルパスに条件を付ける

 $ ack -G _a perl .
 dir_a/1.pl
 1:#!/usr/bin/perl

マッチしたファイルのファイル名のみを表示する

 $ ack -l perl .
 1.pl
 dir_b/1.pl
 dir_a/1.pl

マッチしなかったファイルのファイル名のみを表示する

 $ ack -L perl .
 1.rb

ファイル名一覧の区切りを(改行ではなく)ヌル文字にする

 ack -l --print0 perl . | xargs -0 rm -rf {}

参考

http://search.cpan.org/perldoc?ack


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

Last-modified: 2014-08-03 (日) 11:29:01