日付形式の間にスペースがあります。

日付形式の間にスペースがあります。

シェルでカスタム日付書式を作成し、書式の間にスペースを追加する最良の方法は何ですか?

たとえば、次のコマンドは昨日の日付を次の形式で印刷します。10月9日

custom_format="$(date -d '-1 day' '+%b %-d')"; echo $custom_format

今月と日の間に2つのスペースを追加する必要がありますが、通常私には機能しません。%t追加のクリックスペースを使用してテストしましたが、この形式ではテストしませんでした。

custom_format="$(date -d '-1 day' '+%b **spaces here** %-d')"; echo $custom_format

ベストアンサー1

問題はコマンド自体とは関係ありませんdate(必要に応じてフォーマット文字列にスペースを挿入するだけです)。問題はecho何をするのか、どうするのかいいえ引用された拡張子$custom_format

quoteを使用しない場合、$custom_formatシェルはその値をその中の文字$IFS(デフォルトではスペース、タブ、改行)に基づいて単語に分割し、結果の単語に対してファイル名を生成(ワイルドカード指定)します。

つまり、コマンドは、2つの引数の間のスペース数に関係なく、2つの引数を使用して呼び出される同様のコマンドに変換され、各引数は間echo $custom_formatにスペースを入れて1つずつ出力されます。echo Oct 9echoecho

探している出力を取得するには、$custom_formatパラメータとして呼び出すときに二重引用符を使用します。echo

また、見ることができます

おすすめ記事