Как искать в текстовом файле определенное целое число

Zsh доступен в большинстве дистрибутивов, но часто не является частью стандартной установка. Если установка не представляет проблемы, используйте ее, так как функция glob qualifier решает вашу проблему очень легко:

#!/bin/zsh
cd $MYWEBAPPSRV_DIR
TMPLIST=(*(/n))
for app in $TMPLIST; do … done

glob * перечисляет все файлы (кроме файлов точек), затем квалификатор glob / выбирает только те, которые являются каталогами, а n вызывает числовую сортировку для последовательностей цифр вместо лексикографического порядка по умолчанию.Если вы не хотите переходить в каталог, но хотите исключить часть каталога из совпадений, используйте модификатор раскрытия истории , чтобы сохранить только часть базового имени:

#!/bin/zsh
TMPLIST=($MYWEBAPPSRV_DIR/*(/n:t))
for app in $TMPLIST; do … done

При установке zsh непрактично, и вы используете систему с GNU coreutils (например, невстроенный Linux, Cygwin), а имена файлов не содержат специальных символов (пробелов или подстановочных знаков), тогда вы можете использовать ls -v для сортировки имен файлов в числовом порядке последовательностей цифр и -F для отображения типов файлов в сочетании с текстовым фильтром для выбора только каталогов.

TMPLIST=$(ls -Fv $MYWEBAPPSRV_DIR | sed -n 's!/$!!p')
for app in $TMPLIST; do … done

1
22.06.2016, 23:24
0 ответов

Теги

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