Чтение имен файлов из структурированного файла в сценарий bash

#bash #grep

Вопрос:

У меня есть файл со структурированным списком имен файлов (), и я хотел бы прочитать имена файлов внутри скрипта bash. file1.sh, file2.sh, ...

 cat /home/flora/logs/9681-T13:17:07.091363777.org %rec: dynamic  Ptrn: Gnu File: /home/flora/comint.rc   /home/flora/engine.rc   /home/flora/playa.rc   /home/flora/edva.rc   /home/flora/dyna.rc   /home/flora/lin.rc  

Начали с

 while read -r fl; do  echo "$fl" | grep -oE '[/]. ' done lt; "$logfl"  

Но я хочу быть более конкретным , сопоставив File: , а затем продолжая читать остальное, используя в качестве символа продолжения.

Ответ №1:

bash не накладывает ограничений на переменные (кроме памяти). Тем не менее, я бы начал с обработки списка строк по одной:

 #!/bin/bash while read _ f do  process "$f" done  

где process находится любая функция, которую вам нужно реализовать.

Если вам нужны переменные, используйте массив, подобный этому:

 #!/bin/bash while read _ f do  files =("$f") done  

В любом случае передайте входной файл в скрипт с:

 your_script lt; /home/flora/logs/27043-T13:09:44.893003954.log