У меня есть несколько файлов в папке, и их имена файлов содержат буквенно-цифровые значения. Напр. 045_gfds.sql, 46kkkk.sql, 47asdf.sql и т. Д. Я хочу сравнить числа в этих именах файлов с другим номером, хранящимся в переменной, позволяет сказать $ × = 45 и найти файлы, которые больше, чем число, содержится в имени файла. Я использую Cygwin и в настоящее время могу получить только цифры, используя команду egrep. например.Как сравнить номер с именами файлов в BASH
filename="C:\scripts"
dir $filename | egrep -o [0-9]+
Выход: 045 46 47
Я хочу, чтобы результат как имя файла после сравнения больше, чем $ = 45 со всеми именами, как:
46kkkk.sql
47asdf.sql
Нужна помощь с регулярными выражениями для сравнения больше чем значения в имени файла.
Это похоже на вопрос о [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/). Но, возможно, нет. Я советую вам объяснить **, что ** вы хотите достичь, а не ** как ** вы пытаетесь достичь. Вероятно, это лучшее решение. Читайте здесь: [Вопрос XY] (http://xyproblem.info/). – giusti
Спасибо giusti, я хочу, чтобы вывести имена файлов, которые содержат число в имени файла больше $ x = 45. пожалуйста, дайте мне знать, если вам нужна дополнительная информация, чтобы уточнить мой вопрос. –