AIの鬼
#新モデル Qiita AI

macOSで半濁点入りフォルダ名がls/grepにヒットしない ―― 原因はUnicode正規化(NFD)だっとという話

macOSで半濁点入りフォルダ名がls/grepにヒットしない ―― 原因はUnicode正規化(NFD)だっとという話(内容を表す図ではないイメージ画像)
イメージ

macOSでフォルダやファイル名に半濁点を含む日本語を使うと、lsやgrepといったコマンドが「そんなファイルは存在しない」と返すことがある。見た目は明らかにそこにあるのに、ターミナルからは幽霊のように見えない。この奇妙な症状は、ファイルシステムが日本語文字をUnicodeの異なる正規化形式で保存しているために起きる。macOSのAPFSは内部的にNFD(分解形)を使うが、ユーザーが入力する文字列のほとんどはNFC(合成形)だ。見た目は同じ「ポ」でも、内部では別物として扱われる仕様になっている。

エンジニアにとっては既知の落とし穴だが、AIエージェント(Claude Codeなど)にMac上でファイル操作をさせる場合、この問題が急に表面化する。エージェントがファイル名を検索して「無い」と判定し、処理をスキップしてしまう、という失敗が起きやすいからだ。ワイルドカード指定で半濁点を避けるか、Pythonの場合は正規化を揃えてから比較する、といった回避策がある。この問題が発生する背景には、自動処理とファイルシステムの仕様の微妙なズレがあり、ユーザーが気づきにくい形で潜在しているという点がある。

実務の視点では、自動化の対象になるフォルダやファイルには、最初から半濁点を含めない命名規則を使うのが無難だ。「システムが正しく処理できるようにデータを整える」という原則が、ここでも効く。AIに操作させる対象は、英数字ベースの名前にしておくと、こうした不可視の仕様差による失敗を避けられる。

※ 上記は配信元記事をもとにAIの鬼編集部が要約・再構成したものです。正確な内容は出典元をご確認ください。

御社でもAIを使ってみませんか
まずはここから 御社でもAIを使ってみませんか? 御社の実際の業務を題材に、AIで何ができるかを一緒に考えます。 「ChatGPTの使い方」を教えるだけの研修ではありません。 AI研修・AI活用相談 →