файл entry_64.S не является эквивалентным файлом, который вам нужно изменить ... в зависимости от того, что вы хотите сделать. Если вы хотите добавить пользовательский syscall к своему ядру, измените файл /arch/x86/syscalls/syscall_64.tbl.
# array=( str_1 str_2 str_3 ... str_1000 )
array=( str_{1..1000} )
# prints the content of the array as a single string with comma between elements.
# str_1,str_2,str_3,...,str_1000
( IFS=,; printf '%s\n' "${array[*]}"; )
Подробнее об использовании массивов в bash см. http://mywiki.wooledge.org/BashFAQ/005.
Это будет хорошо работать только в Bash:
array=( str_{1..1000} )
joined_array="$(printf '%s,' "${array[@]}")"
echo "${joined_array%,}"
Последняя строка echo должна опускать конечную запятую.
Первая строка команд - из ответа Geirha .
Есть, как всегда, множество решений.
Лично для такой простой вещи, как это, я также не пишу весь скрипт Python, и не объявляю массивы в bash или не изменяю внутренние разделитель полей.
Вместо этого я просто пишу что-то вроде этого, прямо из командной строки, в одной строке:
for i in {1..1000}; do printf str_$i,; done
Это выведет строку str_1,str_2,...,str_1000,. В зависимости от уровня автоматизации, который вам нужен, если вы хотите разделить трейлинг ,, то одна из возможных возможностей гаджиллиона - использовать sed:
for i in {1..1000}; do printf str_$i,; done | sed 's/,$//;'
, давая вам str_1,str_2,...,str_1000.
Обновление:
Мне пришло в голову, что, поскольку вы хотите делать печать только, вы можете обойтись без явного цикла. Короткие & amp; crisp:
echo str_{1..1000} | sed 's/ /,/g'
Последняя команда также дает вам str_1,str_2,...,str_1000.
Объяснение: Выходы echo str_{1..1000} str_1 str_2 ... str_1000. [F11] заменяет все пробелы запятыми.