seqが完了したときに改行文字の印刷を防ぐ方法は?

seqが完了したときに改行文字の印刷を防ぐ方法は?

次のように列ヘッダーを生成するには:

1234567890123456789

私はseqとechoを使用しようとしています。

seq -s '' 1 9 ; echo -n 0; seq -s '' 1 9

ただし、seq は各実行後に改行文字を出力します。これをどのように避けることができますか?

ベストアンサー1

単に印刷をしたいと仮定すると、1234567890123456789次のようになります。

$ printf "%s" $(seq 1 9) $(seq 0 9)
1234567890123456789$

しかし、末尾の改行はまったくないので、次のことを好むかもしれません。

$ printf "%s" $(seq 1 9) $(seq 0 9) $'\n'
1234567890123456789
$

そうでない場合は、より簡単なオプションがあります。必要使用seq:

$ perl -le 'print 1..9,0,1..9'
1234567890123456789
$ printf "%s" {1..9} {0..9} $'\n'
1234567890123456789

移植性について言及したので、そのperl方法を使用することをお勧めします。または、移植性のないシステムで実行できますが、perlシェルでbashなどを含む同じコマンドを実行する必要がある場合は、sh試してください。dashtcshカミールの方法

おすすめ記事