
数字のリストを郵便番号形式 (5 桁) にフォーマットしようとしました。sed
ユーティリティを使用して実行しました。たとえば、file.txt
「23232334」、「3434654」、「33532」、「94607」が含まれているとします。スクリプトでは次のように記述しました。
sed -n '/^[0-9] [0-9] [0-9] [0-9] [0-9]$/p' file.txt
しかしそれは機能しませんでした。
私も試してみました
sed -n '/^[[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]]$/p' file.txt
文字クラスに関する私の理解によれば、これらの手順は機能するはずですが、なぜ出力が得られないのかわかりません。
助けてください
ありがとう
答え1
コマンドが機能しない理由はたくさんあります。まず、数字の間にスペースがあり、sed
スペースで区切られた数字を検索します。次に、5 桁の数字を記述するときに^
、$
行全体を占める必要があるため、例の 4 つの数字のうち、最後の 2 つだけがテストに合格します。これが必要なことですか?