@Gasgolder

Как вывести список папок?

Есть директория, в которой есть файл со списком ID - id_list.txt и куча папок в каждой из которых есть файл config.ini и логи (логов может и не быть, не в каждой папке они есть) Надо написать скрипт или команду, которая выведет список из названий папок в config.ini которых указан порт отсутствующий в файле id_list. Вот образный путь к файлу config.ini /mnt/d/logs/имя папки/config.ini Путь к файлу id_list.txt /mnt/d/logs/id_list.txt
Вот содержание файла config.ini (параметр port в каждой папке свой)
[Application]
password = 1231dase34
contract = 111111111111111111
queue_max_length = 300
log_level = 5
log_file = /var/log
<b>port = 11916</b>
# включить личный кабинет
db_history = on
db_file = /var/db
# замена расширения файла с записью
record_replace_old = ".3gp"
record_replace_new = ".mp3"
# замена http на https
record_replace_old = "http://"
http_history=0
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Ну вот так, сохранить в какой-нибудь 'script.sh', запускать через '/bin/sh script.sh':
#!/bin/sh
for FILE in $(find /mnt/d/logs -name config.ini); do
  PORT=$(grep -oP "^port += +\K([0-9]+)" $FILE)
  FND=$(grep "^${PORT}$" /mnt/d/logs/id_list.txt)
  if [ "$FND" == "" ]; then
    echo $FILE
  fi
done
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
1. Берёте себя в руки
2. Пишете скрипт

Если с этими пунктами какие-то затруднения - идёте в соседнюю вкладку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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