Значение `10 # N`

Джимми писал :

Я бы, вероятно, в конечном итоге использовал временный каталог в этом случае:

for file in [[:digit:]]*.png; do echo mv $file tmp/$(printf %04d $((10#${file%.png}+1))).png done 

Важной частью является 10#N которая заставляет bash интерпретировать 000N как просто N , иначе ведущие нули обозначают восьмеричные числа.

Является ли 10#N частью арифметического расширения или что-то еще?

Это упоминается в инструкции Bash или POSIX? Я не нахожу его.

3 Solutions collect form web for “Значение `10 # N`”

10#N или общий вид [base#]n где 2 <= base <= 64 будет интерпретировать n как число в этой базе.

Об этом говорилось в руководстве bash , в разделе Shell Arithmetic .

Обратите внимание, что эта функция не указана POSIX, доступная только в bash , ksh и ее производных, zsh с базой от 2 до 36.

Из раздела «Арифметическая оценка» руководства bash ,

Константы с ведущим 0 интерпретируются как восьмеричные числа. Ведущий 0x или 0X обозначает шестнадцатеричный. В противном случае числа принимают вид [base #] n, где base – десятичное число от 2 до 64, представляющее арифметическую базу, а n – число в этой базе. Если база # опущена, то используется база 10. Знаки больше 9 представлены строчными буквами, буквами верхнего регистра, @ и _ в этом порядке. Если основание меньше или равно 36, строчные и прописные буквы могут использоваться взаимозаменяемо, чтобы представлять числа от 10 до 35.

Конечно, это в man bash Внутри ARITHMETIC EVALUATION :

 LESS=+/'\[base#\]n,' man bash 

В противном случае числа принимают форму [base #] n, где необязательная база представляет собой десятичное число от 2 до 64, представляющее арифметическую базу, а n – число в этой базе.

  • Bash цитирует расширение
  • clean script, чтобы рекурсивно заменить строку во всех каталогах и именах файлов
  • grep из текстового файла с разделителями и включить его в другую команду
  • проверить код выхода процессов, запущенных параллельно из сценария
  • Скопируйте папку без ее иерархии / дерева
  • Как установить сценарий для запуска новой строки, добавляется в конец файла?
  • Разница между {1,2,3} и {1..3}
  • Извлечь значение ячейки в таблице Excel
  • Нет цветного вывода с параметром --login в bash
  • Список всех файлов, содержащих определенную строку.
  • Использование опции -n с pushd и popd
  • Linux и Unix - лучшая ОС в мире.