スペースなしでエコ{0..9}

スペースなしでエコ{0..9}

真ん中にスペースがあります。

$ echo {0..9}
0 1 2 3 4 5 6 7 8 9

echo {0..9}空白なしで同様の出力を生成するにはどうすればよいですか?

希望の出力

0123456789

答え1

seq以下を使用して区切り文字を指定できます-s

$ seq -s '' 0 9
012345678

答え2

努力する:

echo -e \\b{0..9}

~からman echo:

-e     enable interpretation of backslash escapes
\b     backspace

またはより良い活用printf:

printf '%s' {0..9}

または最後の改行を追加してください。

printf '%s' {0..9} $'\n'

答え3

スペースを削除するにはtr

$ echo {0..9} | tr -d ' '

trマニュアルページ:

       -d, --delete
              delete characters in SET1, do not translate

答え4

echo $'\e[D'{0..9}
0123456789

端末ではソリッドに見えますが、実際には端末制御シーケンスの区切り文字で接続されています。

echo $'\e[D'{0..9} | cat -vet
^[[D0 ^[[D1 ^[[D2 ^[[D3 ^[[D4 ^[[D5 ^[[D6 ^[[D7 ^[[D8 ^[[D9$

'\e[D'- カーソルを左に移動する
echo $'string'echo -e 'string'- バックスラッシュエスケープ解析を有効にします。

関連情報