Claude Codeでどこまでできる?

Claude Codeの使い方や連携を、実際に試してわかりやすく伝えるサイト

claude -pコマンドでテキストの要約・判定・整形を1行で実行する手順

,
CC-061

Claude Codeをいつも対話で使っているなら、「質問を打ち込んで回答を待って、また打ち込んで…」の繰り返しに慣れているはずだ。実はPowerShellに1行打つだけで、要約でも判定でも整形でも、結果だけをさっと受け取れる。基本から順に見ていこう。

対話とワンショット、何が違う?

普段の使い方を思い出してみる。PowerShellでclaudeと打つと、入力欄が出て質問→回答→追加質問…と続く。これが対話モードだ。

もう一つの使い方がclaude -p(ワンショットモード)だ。-p--printの略で、1回だけ指示を渡して結果を出力して終わる。入力欄は出ず、PowerShellのプロンプト(PS C:\>)に直接結果が表示される。

一番の違いは「文脈を引き継がない」こと。対話モードでは前の質問を覚えているが、ワンショットは毎回まっさらな状態で始まる。だからこそ、1回で終わる作業に向いている。

あるある話:対話モードで作業が終わった後、「終了」と打つのを忘れてセッションが残ってしまうことがある。ワンショットならその心配がない。結果が出たら勝手に終わる。

始める前に:CLIが使える状態か確認する

この記事はターミナル(PowerShell)での操作を前提にしている。始める前に2点だけ確認しておく。

前提条件
Claude CodeのCLIがインストール済みであること
– PowerShellでclaudeコマンドが認識されること

確認はPowerShellで次のコマンドを打つだけだ。

claude --version

バージョン番号が表示されれば準備OK。もし「コマンドが見つかりません」的なエラーが出る場合は、CLIのインストールがまだ。インストール手順はClaude CodeをWindowsにインストールする手順を参照してほしい。

まずは1行打ってみる

PowerShellを開いて、次のコマンドをそのまま打ってみる。

claude -p "おはようを丁寧な日本語で言い換えて"

数秒待つと、結果がそのままPowerShell上に表示されるはずだ。「おはようございます」のような丁寧な表現が返ってくれば成功。

対話モードのような入力欄は出ない。実行して、結果が返ったら、その場で終わりだ。この「結果だけもらって終わる」という感覚がワンショットの核心。

よくある失敗:ダブルクォーテーションの閉じ忘れ

claude -p "おはようを丁寧な日本語で言い換えて

こんな風に末尾の"を忘れると、PowerShellが入力の終わりを認識できずに変な状態になる。もし「プロンプトが>>になった」などの症状が出たら、Ctrl + Cでキャンセルして打ち直せばいい。初歩的だけど、慣れるまでよくやるミスだ。

ワンショットが向く場面、向かない場面

どんな時にclaude -pを使うべきか、ざっくり整理しておく。

向いている場面
– テキストの要約:長い文章を短くまとめる
– 言い換え:表現を丁寧に、またはカジュアルに変える
– 分類・判定:OK/NG、カテゴリ分けなど
– 箇条書き化:文章を箇条書きに整形する
– フォーマット統一:バラバラの書式を揃える
– 既存文章のリライト:文章のリライトなど

向いていない場面
– 結果を見て「ここを直して」と追加指示したい時
– 何度もやり取りしながら調整したい時

判断の目安はシンプルだ。1回の指示で終わるならclaude -p、返答を見てからあれこれ直したいなら対話モード。

実務的なコツ:まずは短いテキストで成功を確認してから、長いテキストに挑むと安心だ。いきなり長文を投げると、結果が空だったりエラーが出たりした時に原因が分かりにくい。エラーが出た場合はプログラムのエラー修正の記事も参考にしてほしい。

ファイルの中身を1行で処理する

ここからはファイル処理に入る。テキストファイルの中身をclaude -pに渡して処理させる。

PowerShellではGet-Contentでファイルを読み、|(パイプ)で次のコマンドに渡す。パイプは「前の結果を次に送る」というPowerShellの基本機能だ。

例として、デスクトップにmeeting.txtという議事録のファイルがあるとする。

Get-Content .\meeting.txt | claude -p "3行で要約して"

議事録の内容がパイプを通ってclaude -pに渡り、3行の要約が返ってくる。

別の例。ログファイルからエラー行だけ抜き出すならこうだ。

Get-Content .\log.txt | claude -p "エラーらしい行だけ抜き出して"

ファイルパスの間違いに注意

Get-Contentで存在しないファイルを指定すると、PowerShell上にエラーが表示されるか、Claude側に何も渡らない状態になる。「何も返ってこない」「ファイルが見つからない」と思ったら、まずファイルのパスを確認すること。PowerShellでlsを打って、そのファイルが本当にその場所にあるか確かめるのが確実だ。

判定結果をJSONでもらって次に渡す

claude -pには--output-format jsonというオプションがある。これは、Claude Codeの実行結果をJSON形式で受け取りたい時に使う指定だ。

例えば、レビュー文の感情判定をしてみる。

Get-Content .\review.txt | claude -p "このレビューの感情をpositive/negative/neutralで判定して" --output-format json

結果はJSONで返ってくる。以下は「Claudeにこの形で返して」と指示した場合の出力例だ。

{"sentiment": "positive", "confidence": 0.9}

この結果をファイルに保存したければ、リダイレクト(>)を使う。

Get-Content .\review.txt | claude -p "このレビューの感情をpositive/negative/neutralで判定して" --output-format json > result.json

result.jsonというファイルが作られ、中に判定結果が保存される。

文字化けに注意

JSON出力で文字化けが起きることがある。PowerShellのエンコーディング設定とファイルの文字コードが揃っていないのが原因だ。基本はUTF-8に揃えておくのが安心。ファイルの文字コードが分からない場合は、PowerShellでエンコーディングを明示的に指定する手もある。

[System.IO.File]::ReadAllText(".\review.txt", [System.Text.Encoding]::UTF8) | claude -p "感情を判定して" --output-format json

コードブロックで囲むことで、PowerShellへのコピペがやりやすくなる。

よくあるつまずきポイントと対処法

claude -pを使っていて出会いやすい問題と、それぞれの対処をまとめる。

claudeコマンドが認識されない

CLIのインストールが完了していないか、PowerShellを開き直していない可能性がある。PowerShellを一度閉じて開き直してからclaude --versionで確認する。

エラーになる("の閉じ忘れ、全角スペース)

ダブルクォーテーションの閉じ忘れは先ほど触れた通り。もう一つ気をつけたいのが全角スペース。コマンドの中に全角スペースが混じっていると、PowerShellが正しく認識しない。日本語キーボードでは無変換でスペースを打つと全角になりやすい。

結果が空になる

パイプの前のコマンド(Get-Contentなど)がちゃんと内容を出しているか確認する。まずGet-Content .\file.txtだけを単独で実行して、中身が表示されるか確かめること。

文字化けする

ファイルの文字コード(UTF-8推奨)とPowerShell側の表示設定を確認する。PowerShellで[Console]::OutputEncodingを打つと現在のエンコーディングが分かる。

長文でうまくいかない

短いテキストで成功を確認してから、少しずつ長くしていく。一気に長文を渡すとトークン制限に引っかかることがある。

JSONが崩れる

出力をファイルに保存してテキストエディタで開くと、PowerShellの表示上は崩れていても正しいJSONになっていることがある。まずはファイル保存して中身を確認してみる。

最後に:できることの整理

claude -pは対話なしで1回だけ結果を出すコマンドだ。PowerShellに1行打てば、要約でも判定でも整形でも結果が返ってくる。

パイプと組み合わせるとファイルの中身をそのまま処理できる。Get-Contentで読んで| claude -pに渡すだけ。さらに--output-format jsonを使えば、判定結果をJSONで受け取って別のプログラムに渡すことも可能だ。

より高度なテキスト整形が必要な場合は、対話モードでの作業も検討してほしい。

試す順番としては、1行のコマンドで簡単な質問を投げて動きを確かめる。慣れてきたらファイル処理に進み、必要ならJSON出力へ。段階的に進めれば、どこでつまずいても原因が特定しやすい。

関連記事
– CC-002:Claude Codeのインストール手順(CLIがまだ入っていない場合)
– CC-059:モデルの切り替え方法(別のモデルで試したい場合)

まとめ

コマンド1行で結果がもらえるclaude -p。短いテキストの要約なら試す敷居は低い。手元のテキストファイルを1つ用意して、Get-Content | claude -p "要約して"を試してみるのが一番早い。

Claude Code 関連記事

[ccframe-related-posts]