Как проверить, что следующие файлы существуют без условия в сценарии оболочки? - PullRequest
0 голосов
/ 14 октября 2019

У меня был сценарий

По этому пути $ path1 у меня есть список файлов

 LINUX-7.1.0.00.00-010.RHEL6.DEBUG.i386.rpm
 LINUX-7.1.0.00.00-010.RHEL6.DEBUG.x86_64.rpm
 LINUX-7.1.0.00.00-010.RHEL6.i386.rpm
 LINUX-7.1.0.00.00-010.RHEL6.x86_64.rpm
 LINUX-7.1.0.00.00-010.RHEL7.DEBUG.x86_64.rpm
 LINUX-7.1.0.00.00-010.RHEL7.x86_64.rpm
 LINUX-7.1.0.00.00-010.SLES12SP4.DEBUG.x86_64.rpm
 LINUX-7.1.0.00.00-010.SLES12SP4.x86_64.rpm

В $ path2 у меня есть эти файлы 7.1.0.00.00-010 - (build. Major). (build.minor). (build.servicepack). (build.patch). (build.hotfix) - (build.number)

  build.major       - 7
  build.minor       - 1
  build.servicepack - 0
  build.patch       - 0
  build.hotfix      - 0
  build.number      - 010

Мне нужно проверить, есть ли список определенных файловсуществует или нет, если существует, он может выполнить некоторые шаги, в противном случае он должен выйти.

1 Ответ

2 голосов
/ 14 октября 2019

Как сказал Бармар, этот сайт больше ориентирован на решение технических проблем. Предполагая, что вы не знаете, где искать, я подхожу к проблеме с помощью следующих шагов:

  • «cat» входного файла и использование «awk» для извлечения 3-го столбца
  • использовать вывод в цикле for для итерации по строкам (даже если вы можете сделать это непосредственно с помощью awk), объединяя переменные (например, с именем tmp)
  • ища файлы, используя $ tmp в своихname.

Таким образом, в оболочке вы можете использовать awk для выбора столбца из текстового ввода, вы можете выполнять итерацию непосредственно по строкам потока текста с циклом for и вставлять значениепеременная в строке, используя $ myVariable.

Теперь вы на треке!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...