sed -ne '
/field-2-value/!{h;d;}
H;n;n;/field-4/!d;H;g;s/$/\n/p
' inputFile.txt
Мы отклоняем все строки, которые не содержат /поле -2/, но сохраняют их на удержании. (Сохраняется только последний)
Итак, когда мы видим строку /field -2/, мы добавляем ее для хранения, пропускаем следующую строку, затем проверяем, содержит ли следующая строка -–-/field -4/. Если это не так, мы отбрасываем его OTW, мы добавляем его к удержанию, затем переносим удержание и печатаем его после добавления завершающей новой строки, чтобы разделить напечатанные записи.
[field-1]yyy[/field-1]
[field-2]field-2-value[/field-2]
[field-4]field-4-value[/field-4]
[field-1]mmm[/field-1]
[field-2]field-2-value[/field-2]
[field-4]field-4-value[/field-4]
Вы можете попробовать это:
find /mqlocal/mqm -type f -iname "*.txt" | wc -l
-type f
:Для поиска файлов. Он будет игнорировать каталоги внутри каталога /mqlocal/mqm
.
-iname
:Он будет соответствовать только файлам, оканчивающимся на .txt
. -i
означает нечувствительность к регистру.
wc -l
:Будет подсчитано количество файлов.
найти *.txt | туалет -л
измените текущий рабочий каталог на /mqlocal/mqm, а затем выполните команду.
Это даст вам количество текстовых файлов в этом каталоге.