эхо {0..9} без пробела

Используйте ls /mnt/d/для каталога корня внешнего жесткого диска.

1
08.10.2020, 09:15
5 ответов

Используйте trдля удаления пробелов:

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

trсправочная страница:

       -d, --delete
              delete characters in SET1, do not translate
5
18.03.2021, 22:59

seq позволяет указать разделитель с помощью-s:

$ seq -s '' 0 9
012345678
9
18.03.2021, 22:59

попробуй:

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'
10
18.03.2021, 22:59

Для записи обратите внимание, что {0..9}исходит из zsh.

Подобно csh {a,b}, на котором он основан, он расширяется до отдельных аргументов.

Таким образом, для того, чтобы они были объединены вместе на выходе, вам нужна команда, которая печатает или может печатать свои аргументы, объединенные друг с другом, напримерprintf:

printf %s {0..9}

(хотя это не печатает завершающую новую строку, см. ответ αғsнιη , чтобы обойти это)

Или добавьте дополнительный шаг, выполняющий соединение.

В zshвы можете соединять элементы массива без промежуточных элементов с помощью ${(j[])array}, поэтому вы можете использовать анонимную функцию, например:

() { print ${(j[])@}; } {0..9}

или

function { print ${(j[])@}; } {0..9}

В Korn -подобно оболочкам (, включая bashи zsh), для соединения элементов любого массива ничем,вы используете "${array[*]}", пока $IFSпусто:

set {0..9}
IFS=
echo "$*"

(здесь используется echoвместо print, как будто bashявляется оболочкой, похожей на Korn -даже больше, чем zsh, она не реализует встроенную print).

С помощью bashили zshвы также можете выполнить объединение в переменную с помощью:

printf -v var %s {0..9}
3
18.03.2021, 22:59
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'-позволяют интерпретировать символы обратной косой черты.

0
18.03.2021, 22:59

Теги

Похожие вопросы