一致の総数を制御できるが、各ファイルの最初の一致で停止するgrepオプションはありますか?
例:
私がこれを行うと、私はこれgrep -ri --include '*.coffee' 're' .
を取得します:
./app.coffee:express = require 'express'
./app.coffee:passport = require 'passport'
./app.coffee:BrowserIDStrategy = require('passport-browserid').Strategy
./app.coffee:app = express()
./config.coffee: session_secret: 'nyan cat'
そして、私がそうするならgrep -ri -m2 --include '*.coffee' 're' .
、私はこれを手に入れます:
./app.coffee:config = require './config'
./app.coffee:passport = require 'passport'
しかし、私が本当に欲しいのはこの出力です:
./app.coffee:express = require 'express'
./config.coffee: session_secret: 'nyan cat'
私-m1
はこれを取得するので、実行は機能しませんgrep -ri -m1 --include '*.coffee' 're' .
./app.coffee:express = require 'express'
grepを使用しないようにしました。例:これは次のようにfind . -name '*.coffee' -exec awk '/re/ {print;exit}' {} \;
生成されます。
config = require './config'
session_secret: 'nyan cat'
更新:以下に示すように、GNU grep-m
オプションはファイルごとのカウントを扱いますが-m
、BSDの場合はgrepはそれをグローバル一致カウントとして扱います