#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