Основной вопрос о печати

файл entry_64.S не является эквивалентным файлом, который вам нужно изменить ... в зависимости от того, что вы хотите сделать. Если вы хотите добавить пользовательский syscall к своему ядру, измените файл /arch/x86/syscalls/syscall_64.tbl.

1
задан 6 March 2014 в 15:19

3 ответа

# 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.

1
ответ дан 24 May 2018 в 11:05
  • 1
    Это выглядит красиво! Я буду смотреть на это, спасибо за ссылку! – Jacob Vlijm 6 March 2014 в 16:16
  • 2
    ./mystring.bash $ (tt = $ (echo str_ {1..1000}); echo $ {tt // /,}) – c4f4t0r 6 March 2014 в 19:15

Это будет хорошо работать только в Bash:

array=( str_{1..1000} )
joined_array="$(printf '%s,' "${array[@]}")"
echo "${joined_array%,}"

Последняя строка echo должна опускать конечную запятую.

Первая строка команд - из ответа Geirha .

1
ответ дан 24 May 2018 в 11:05

Есть, как всегда, множество решений.

Лично для такой простой вещи, как это, я также не пишу весь скрипт 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] заменяет все пробелы запятыми.

0
ответ дан 24 May 2018 в 11:05

Другие вопросы по тегам:

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