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 # ✗ 複数ファイルのため対象外注意点
- この改善は
grep、egrep、fgrepの単一ファイル指定時のみ有効です -rや--recursiveなどで複数ファイルを対象とした場合は従来通りReadが必要な場合がありますcat、head、tailによる確認も引き続き読み取り要件を満たします