番号リストを郵便番号形式(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つだけがテストに合格します。あなたが欲しいものは何ですか?