💻 Claude Code入門
📖 約15分で読めます
Claude Codeの出力フォーマットとパイプ活用術
--printモードとパイプを使った自動化・スクリプト連携の実践テクニック
なぜ出力フォーマットが重要なのか
Claude Codeは対話的に使うだけでなく、シェルスクリプトやCI/CDパイプラインに組み込んで自動化ツールとしても活用できます。その際に鍵となるのが、出力フォーマットの制御とパイプ(|)の活用です。
本記事では、--printモードの基本から各出力フォーマットの使い分け、実践的なシェルスクリプトの例まで、自動化に必要な知識を網羅的に解説します。
--printモードの基本
--print(短縮: -p)は、Claude Codeを非インタラクティブ(対話なし)モードで実行するオプションです。
--printモードの特徴
- プロンプトを受け取り、回答を出力して終了する(対話なし)
- 標準入力(stdin)からの入力を受け付ける
- 標準出力(stdout)に結果を出力する
- パイプやリダイレクトと組み合わせ可能
- スクリプトやCI/CDパイプラインに最適
基本的な使い方
# 直接プロンプトを指定
claude -p "Pythonでフィボナッチ数列を計算する関数を書いて"
# 標準入力からプロンプトを渡す
echo "Hello Worldプログラムを書いて" | claude -p
# ファイルの内容をプロンプトとして渡す
claude -p "このコードをレビューして" < src/app.py
# 結果をファイルに保存
claude -p "READMEのテンプレートを生成して" > README.md
3つの出力フォーマット
1. text形式(デフォルト)
人間が読みやすいプレーンテキスト形式です。そのまま端末に表示したり、ファイルに保存するのに適しています。
使用例
claude -p --output-format text "現在のディレクトリ構造を説明して"
出力例:
このプロジェクトは以下のような構造になっています:
- src/ : ソースコードディレクトリ
- tests/ : テストファイル
- package.json : npm設定ファイル
...
2. json形式
構造化されたJSON形式で出力します。プログラムから結果をパースして利用するのに最適です。
使用例
claude -p --output-format json "このプロジェクトの依存関係を分析して"
出力は完了後に一括でJSON形式で返されます。jqコマンドと組み合わせることで、特定のフィールドだけを抽出できます。
# jqで結果を抽出
claude -p --output-format json "分析して" | jq '.result'
3. stream-json形式
処理の進行に合わせてイベントごとにJSONを逐次出力します。リアルタイムに処理結果を監視したり、長時間実行の進捗を表示するのに適しています。
使用例
claude -p --output-format stream-json "大規模なリファクタリング計画を作成して"
各イベント(テキスト生成、ツール使用、結果など)が独立したJSONオブジェクトとして逐次出力されます。
フォーマット選択の指針
| 用途 | 推奨フォーマット | 理由 |
|---|---|---|
| 端末で結果を確認 | text | 人間が読みやすい |
| ファイルに結果を保存 | text | そのまま使える |
| 別のプログラムで処理 | json | パースが容易 |
| リアルタイム監視 | stream-json | 逐次処理が可能 |
| CI/CDのレポート生成 | json | 構造化された結果 |
| ログ記録 | json | 後から検索・分析しやすい |
パイプ活用の実践テクニック
テクニック1: ファイル内容の分析
# エラーログの分析
cat /var/log/app/error.log | claude -p "このエラーログから重要な問題を3つ特定して"
# Git diffのレビュー
git diff | claude -p "この変更内容をレビューして問題点を指摘して"
# 設定ファイルの検証
cat config.yaml | claude -p "この設定に問題やセキュリティリスクがないか確認して"
テクニック2: 結果のチェーン処理
# コード生成 → ファイルに保存
claude -p "Express.jsのCRUD APIを生成して" > src/api.js
# 分析結果をさらに加工
claude -p --output-format json "依存関係を分析して" | jq '.vulnerabilities'
# 複数ステップの処理
git log --oneline -20 | claude -p "このコミット履歴を要約して"
シェルスクリプトでの自動化例
例1: 自動コードレビュースクリプト
#!/bin/bash
# review.sh - 変更ファイルを自動レビュー
echo "=== 自動コードレビュー ==="
CHANGED_FILES=$(git diff --name-only HEAD~1)
for file in $CHANGED_FILES; do
echo "--- レビュー中: $file ---"
claude -p --max-turns 1 \
"以下のファイルの変更をレビューして、
問題点があれば指摘してください: $(git diff HEAD~1 -- $file)"
echo ""
done
echo "=== レビュー完了 ==="
例2: ドキュメント自動生成
#!/bin/bash
# generate-docs.sh - 関数のドキュメントを自動生成
for file in src/lib/*.ts; do
echo "ドキュメント生成: $file"
DOC=$(claude -p --max-turns 1 \
"このTypeScriptファイルのJSDocコメントを生成して。
既存のコメントは維持して: $(cat $file)")
echo "$DOC" > "${file%.ts}.doc.md"
done
例3: CI/CDパイプラインでの品質チェック
#!/bin/bash
# quality-check.sh - CI/CDで使用する品質チェック
RESULT=$(claude -p --output-format json --max-turns 3 \
--append-system-prompt "JSON形式で回答してください。
フィールド: passed (boolean), issues (array of strings)" \
"以下のコードにセキュリティ上の問題がないかチェック: $(git diff origin/main)")
PASSED=$(echo $RESULT | jq -r '.passed')
if [ "$PASSED" = "false" ]; then
echo "品質チェック失敗"
echo $RESULT | jq '.issues[]'
exit 1
fi
echo "品質チェック通過"
自動化時の注意点
ベストプラクティス
- --max-turnsを設定: 自動化時は必ず最大ターン数を設定し、無限ループを防ぐ
- タイムアウトの設定:
timeoutコマンドと組み合わせて実行時間を制限する - エラーハンドリング: 終了コードを確認し、失敗時の処理を記述する
- APIキーの管理: 環境変数
ANTHROPIC_API_KEYを使用し、スクリプトに直接記述しない - コスト意識: ループ処理では軽量モデル(Haiku/Sonnet)を選択し、コストを抑える
- レート制限: 大量のリクエストを送る場合は適切な間隔を空ける
Claude Code入門の他のガイド
Claude Code導入ガイド ― Windows/Mac完全対応
Claude Codeのインストールから初回起動まで、OS別に完全対応 ・ 約30分
Claude Codeの主要スラッシュコマンドと活用法
16個のスラッシュコマンドを完全網羅。使い方・実行例・組み合わせテクニックまで ・ 約15分
Claude Codeの権限設定(パーミッション)完全ガイド
セキュリティと利便性を両立する権限管理の全知識 ・ 約18分
Claude Codeのモデル切り替え活用術 ― Opus・Sonnet・Haikuの使い分け
タスクに応じた最適なモデル選択でコストと品質を両立する方法 ・ 約15分
Claude Codeのセッション管理術 ― 効率的な作業の進め方
セッションの開始・継続・再開を使いこなして、長期プロジェクトを効率的に進める ・ 約12分
Claude Codeのコマンドラインオプション完全リファレンス
全CLIオプションを網羅。起動時に使える引数を徹底解説 ・ 約20分
Claude Codeのプロジェクト設定(.claude/)完全ガイド
.claudeディレクトリとCLAUDE.mdを使いこなしてチーム開発を効率化 ・ 約15分
Claude Codeのキーボードショートカットと操作効率化
知っておくべきショートカットキーと入力テクニックで作業速度を2倍に ・ 約12分
Claude Codeのアップデートとバージョン管理
最新版への更新方法からダウングレード、トラブル対処まで ・ 約10分
Claude Codeの/doctorコマンドとトラブル診断
問題発生時の診断フローとよくあるエラーの解決方法 ・ 約12分
CLAUDE.mdの書き方完全ガイド ― プロジェクト指示書のベストプラクティス
プロジェクトの文脈をAIに正確に伝える設定ファイルの書き方 ・ 約20分
Claude Codeのメモリ機能 ― 会話をまたいだ記憶の活用法
プロジェクト固有の知識を永続化して効率を最大化する ・ 約18分
.claude/settings.jsonの設定項目一覧と活用法
Claude Codeの動作を細かく制御する設定ファイルの全貌 ・ 約15分
プロジェクト別CLAUDE.mdテンプレート集 ― コピペで使える10パターン
React・Next.js・Python・PHP・WordPress等、主要技術スタック別テンプレート ・ 約25分
チーム開発でのCLAUDE.md運用術
チーム全員がAIを最大限活用するための共有設定と運用ルール ・ 約20分
Claude CodeでGitを使いこなす ― 基本操作編
自然な日本語でGitを操作する方法を基本から解説 ・ 約20分
Claude Codeでコミットメッセージを自動生成する
変更内容を分析して最適なコミットメッセージを提案してくれるAI活用術 ・ 約18分
Claude CodeでPR(プルリクエスト)を作成・レビューする
AI支援によるPR作成からコードレビューまでの実践的ワークフロー ・ 約20分
Claude Codeでブランチ戦略を実践する
Git Flow・GitHub Flow・トランクベースを理解し、AIで効率的にブランチを管理 ・ 約20分
Claude Codeでコンフリクト解決をAIに任せる
マージの衝突が起きても慌てない。AIによるコンフリクト解決の実践ガイド ・ 約18分
Claude Codeでgit logを分析して変更履歴を理解する
コミット履歴からバグの原因特定やプロジェクトの変遷を把握する ・ 約22分
Claude Codeでリリースノートを自動生成する
コミット履歴からユーザー向け・開発者向けリリースノートを作成する ・ 約20分
Claude Codeのコンテキスト節約術 ― トークンを無駄にしない10の方法
コンテキストウィンドウを理解し、トークン消費を最適化するテクニック集 ・ 約18分
/compactコマンド徹底解説 ― 会話を圧縮して作業を続ける
/compactの仕組み・使いどころ・カスタム指示を完全網羅 ・ 約15分
大規模プロジェクトでのClaude Code活用戦略
大規模コードベースでの効率的なAI活用パターンとベストプラクティス ・ 約20分
.gitignoreとClaude Code ― 読み込みファイルの最適制御
ファイル探索の仕組みを理解し、ノイズを減らして精度を上げる ・ 約14分
効率的なタスク分割術 ― 1セッションの最適な使い方
タスク境界の見極めとセッション計画で生産性を最大化 ・ 約16分
Claude CodeのSkills機能入門 ― カスタムコマンドで作業を効率化
組み込みスキルからカスタムワークフローまで完全ガイド ・ 約15分
Claude Codeのフック(Hooks)でワークフローを自動化する
PreToolUse・PostToolUseフックで品質と安全性を自動で担保 ・ 約18分
カスタムスラッシュコマンドの作り方 ― 自分だけのワークフローを構築
.claude/commands/ディレクトリで独自コマンドを定義する方法 ・ 約16分
MCPサーバーでClaude Codeを拡張する ― 外部ツール連携ガイド
Model Context Protocolで無限の拡張性を手に入れる ・ 約18分
Claude CodeとVS Code・JetBrainsの連携活用法
ターミナルAIとIDEを組み合わせた最強の開発環境構築 ・ 約15分
Claude Codeでウェブサイトを0から作る実践ガイド
プロジェクト作成からデプロイまでの完全チュートリアル ・ 約20分
Claude Codeでテストコードを書かせるテクニック
単体テストからE2Eテストまで、AIによるテスト自動生成 ・ 約22分
Claude Codeでリファクタリングを効率化する
安全なコード改善をAIと一緒に進める方法 ・ 約22分
Claude Codeでドキュメントを自動生成する
README・API文書・コードコメントを効率的に作成 ・ 約20分
Claude Codeでバグを素早く見つけて修正するテクニック
エラー解析からホットフィックスまでのデバッグワークフロー ・ 約20分
Claude CodeでREST APIを設計・実装する
要件定義からテストまでAPI開発の全工程をAIと進める ・ 約25分
Claude Codeでデータベース設計を相談・実装する
ER図からマイグレーションまでDB設計をAIに相談 ・ 約22分
Claude Codeで既存プロジェクトを分析・理解する
新しいコードベースのオンボーディングをAIで加速 ・ 約22分