Skip to content

grepの後にReadが不要に: Edit前の読み取り要件の改善

原文(日本語に翻訳)

Editで、grepでファイルを確認した後に別途Readが不要になりました。単一ファイルの grep/egrep/fgrep コマンドが編集前の読み取り確認を満たすようになりました。

原文(英語)

Edit no longer requires a separate Read after viewing a file with grep: single-file grep/egrep/fgrep commands now satisfy the read-before-edit check

概要

Claude Code v2.1.160では、ファイル編集(Edit)の前に別途 Read ツールでファイルを読み取る必要がなくなりました。grep(または egrep/fgrep)で単一ファイルの内容を確認した場合、その確認が「編集前の読み取り要件」を満たすものとして認識されます。これによりワークフローが効率化され、grepでの検索からシームレスに編集に移行できます。

基本的な使い方

grepでファイルの特定箇所を確認した後、直接Editで編集できます。追加のReadは不要です。

bash
# grepで対象箇所を確認
grep -n "TODO" src/main.ts

# → そのまま編集可能(以前は別途Readが必要だった)

実践例

TODOコメントの検索と修正

bash
# Claudeに依頼
claude "src/main.tsのTODOコメントを探して修正してください"

# Claudeのワークフロー(改善後):
# 1. grep -n "TODO" src/main.ts  ← 内容確認
# 2. Edit(src/main.ts, ...)       ← 直接編集(Readが不要に)

以前のワークフロー(改善前):

1. grep -n "TODO" src/main.ts  ← 内容確認
2. Read(src/main.ts)            ← 別途読み取り(冗長・時間がかかる)
3. Edit(src/main.ts, ...)       ← 編集

特定パターンの検索と置換

bash
claude "config.tsのAPIエンドポイントをすべてHTTPSに修正してください"

# Claudeのワークフロー:
# 1. grep "http://" config.ts   ← 対象箇所を確認
# 2. Edit(config.ts, ...)       ← 直接修正(Read不要)

正規表現を使った検索から編集

bash
claude "utils.tsの非推奨な関数呼び出しパターンを修正してください"

# Claudeのワークフロー:
# 1. egrep "deprecated|@obsolete" utils.ts  ← パターン検索
# 2. Edit(utils.ts, ...)                    ← 直接修正

複数ファイルへのgrepとの違い

この改善は単一ファイルの grep に適用されます。

bash
# 単一ファイル → Readなしで編集可能
grep "pattern" src/utils.ts         # ✓ 読み取り要件を満たす
egrep "pattern" src/config.ts       # ✓ 読み取り要件を満たす
fgrep "literal" src/constants.ts    # ✓ 読み取り要件を満たす

# 複数ファイル → 編集前にReadが必要な場合あり
grep -r "pattern" src/              # ✗ 複数ファイルのため対象外
grep "pattern" *.ts                 # ✗ 複数ファイルのため対象外

注意点

  • この改善は grepegrepfgrep の単一ファイル指定時のみ有効です
  • -r--recursive などで複数ファイルを対象とした場合は従来通りReadが必要な場合があります
  • catheadtail による確認も引き続き読み取り要件を満たします

関連情報