Это вопрос, который перенаправляют все остальные, а также Google, поэтому я публикую это здесь.
Многие из этих ответов верны, но слишком громоздки для простых ситуаций, например, когда у вас нет более 26 столбцов. Если у вас есть какие-либо сомнения относительно того, что вы можете перейти в двухбуквенные столбцы, тогда проигнорируйте этот ответ, но если вы уверены, что этого не сделаете, вы можете сделать это так же просто, как это в C #:
public static char ColIndexToLetter(short index)
{
if (index < 0 || index > 25) throw new ArgumentException("Index must be between 0 and 25.");
return (char)('A' + index);
}
Черт возьми, если вы уверены в том, что вы передаете, вы можете даже удалить проверку и использовать эту строку:
(char)('A' + index)
Это будет очень похоже на многие языки, поэтому вы можете адаптировать ее по мере необходимости.
Опять же, используйте это, только если вы на 100% уверены, что у вас не будет более 26 столбцов .
Да, вроде того.
Вы можете использовать параметр -depth
, чтобы заставить его обрабатывать содержимое каталога перед самим каталогом. Вы также можете использовать параметр -maxdepth
, чтобы ограничить количество каталогов, которые будут детализированы.
Ужасный взлом, не будет работать с -0
или любыми другими действиями, кроме -print
, неэффективно и т. Д. И т. Д.…
#!/bin/bash
i=0
while results=$(find -mindepth $i -maxdepth $i "$@") && [[ -n $results ]]; do
echo "$results"
((i++))
done
В основном это просто выполняется
find -mindepth 0 -maxdepth 0
find -mindepth 1 -maxdepth 1
find -mindepth 2 -maxdepth 2
…………………………………………………………………………
, пока find
не вернет ненулевой статус или ничего не напечатает.
Используйте find
с параметром - maxdepth
.
Это в разделе Каталоги на вашей справочной странице; могут найти другие варианты, более подходящие в зависимости от ваших потребностей.
Чтобы добиться точного поиска в ширину, вам нужно будет использовать смешанные варианты - mindepth
и - maxdepth
. Но я не думаю, что это необходимо, обычно бывает достаточно поиска с ограниченной глубиной.