Использование bash ...Извлечь линии между двумя узорами
Я хочу перебирать список переменных для каждого события '_Brkt';
echo "$BrackListAllFinal"
DSCF3649-DSCF3651_Brkt
DSCF3649.JPG 2014-07-21 13:34:44 On 1
DSCF3649.RAF 2014-07-21 13:34:44 On 1
DSCF3650.JPG 2014-07-21 13:34:45 On 2
DSCF3650.RAF 2014-07-21 13:34:45 On 2
DSCF3651.JPG 2014-07-21 13:34:45 On 3
DSCF3651.RAF 2014-07-21 13:34:45 On 3
DSCF3652-DSCF3654_Brkt
DSCF3652.JPG 2014-07-21 13:38:24 On 1
DSCF3652.RAF 2014-07-21 13:38:24 On 1
DSCF3653.JPG 2014-07-21 13:38:24 On 2
DSCF3653.RAF 2014-07-21 13:38:24 On 2
DSCF3654.JPG 2014-07-21 13:38:25 On 3
DSCF3654.RAF 2014-07-21 13:38:25 On 3
Я пытаюсь отобразить имена файлов после каждого вхождения строк, оканчивающихся на «_Brkt» и остановить на следующем вхождении, если существует. Я создам новый каталог из каждой строки, заканчивающийся на «_Brkt», и перемещаю последовательные файлы после него в новый каталог.
Я пробовал;
echo "$BrackListAllFinal" | awk '{print $1}' | awk '/.*\..*/, /_Brkt$/'
... и ...
echo "$BrackListAllFinal" | awk '{print $1}' | sed -n '/_Brkt$/,/_Brkt$/p
Например ...
Создать новый каталог для каждой строки, заканчивающийся в '_Brkt'
DSCF3649 -DSCF3651_Brkt
Переместите последовательные имена файлов в новый каталог.
- DSCF3649.JPG
- DSCF3649.RAF
- DSCF3650.JPG
- DSCF3650.RAF
- DSCF3651.JPG
- DSCF3651.RAF
я могу 't получить строки для отображения после строки, заканчивающейся '_Brkt. Я как бы потерял это, кто-то может помочь.
спасибо.
Спасибо большое за ваш ответ. Мне сложно включить это в то, что я сделал до сих пор. Не могли бы вы сообщить мне, как использовать sed или awk для выполнения выбора. Спасибо. – voiczed
@voiczed Это невозможно: у вас есть состояние, которое распространяется от одной строки до следующей –