print '*' * 80
このPythonコードスニペットは80個のアスタリスクを印刷します。私はしばしばログファイルの区切り文字として使用します。
演算子オーバーロードを使用してbashスクリプトでこれをどのように実行できますか?
ベストアンサー1
シェル(ksh
、、、 )ではzsh
、bash
次のことができます。
stars=$(printf '%*s' 80 '')
echo "${stars// /*}"
bash
次のことを選択できます。
printf -v stars '%*s' 80 ''
echo "${stars// /*}"
説明:パラメーターを介して指定された長さの文字列を生成するprintf
形式文字列を使用します。%*s
したがって、最初のパラメータ(80
)は長さを指定し、2番目のパラメータは''
効果的に印刷する文字列(空の文字列)を指定しますが、定義された幅にスペースを追加します。printf "%80s" ''
可変引数である可能性があることを明確にするために、パラメータ化されたバージョンのlengthを使用していますが、これはとして表すこともできます。