コマンドを使用してUnixシェルチュートリアルで別の例を試しましたが、seq
端末から別の結果を得ました。
注文する:
seq -s '/' 1 5
結果:
1/2/3/4/5/
変える
1/2/3/4/5
コマンドはオンラインで期待どおりに機能しますが、bash
私の方法だけが異なります。
答え1
macOSにデフォルトでインストールされる非標準ユーティリティの実装は、seq
GNUシステムのcoreutilsパッケージの実装とは異なります。アップルシステムseq
FreeBSDから。
-s
macOSでは、オプションのオプション引数として使用される文字列は、通常seq
この目的で使用されるデフォルトの改行を置き換えます。つまり、-s
最後の数字を含むすべての数字の後に文字列が続きます。末尾に改行文字を挿入するには、以下を使用できます-t '\n'
(この-t
オプションはGNUでは使用できませんseq
)。-s
最後の数字の後に区切り文字が追加されます。
$ seq -s '-->' -t '[end of list]\n' 1 3
1-->2-->3-->[end of list]
coreutilsseq
実装では、withを含む文字列は数字を区切るために使用されますが、-s
最後の要素は常に改行文字で終わります。
両方seq
の実装のこの違いは、開発者の好みや要件によるものかもしれませんが、これは私の推測にすぎません。
macOSでは、Homebrewを使用してcoreutilsseq
をgseq
。