number_format A string specifying how to format the data. It can be any of the following, which you will notice have the same meanings as they do to perl's pack function: C - unsigned char S - unsigned 16-bit, native endianness v or S< - unsigned 16-bit, little-endian n or S> - unsigned 16-bit, big-endian L - unsigned 32-bit, native endianness V or L< - unsigned 32-bit, little-endian N or L> - unsigned 32-bit, big-endian Q - unsigned 64-bit, native endianness Q< - unsigned 64-bit, little-endian Q> - unsigned 64-bit, big-endian*S*[119179]. ["x"] Удалить [считать] строки [в регистр x] и запустить вставка. Синоним "cc" |linewise|.[118768].
Если я правильно понял, я изменю not_string
на вашем входе для проверки:
ID number1 string
DS item11
DS item12
ID number2 qwerty
DS item21
DS item22
ID number3 string
DS item31
DS item32
Попробуйте:
$ awk '/ID/ && !/string/{flag=0;next};/string/{flag=1};flag' file
ID number1 string
DS item11
DS item12
ID number3 string
DS item31
DS item32
sed -n '/ID.* s/p;//,/ID/{//!p;}' <<\DATA
ID number1 string
DS item11
DS item12
ID number2 not_string
DS item21
DS item22
ID number3 string
DS item31
DS item32
DATA
Это зависит от этого POSIX, определенного поведения для sed
адресов регулярных выражений:
Если RE пусто (то есть нет указан шаблон)
sed
должен вести себя так, как если бы последний RE, использованный в последней примененной команде (либо как/ address /
, либо как частьs / ubsti / tute /
command) был указан.
Когда начало вашего поиска совпадает с адресом /ID.* s /
, оно затем набирается p
. Диапазон строк указывается между строками, соответствующими последнему адресу //, / ID /
и следующей строке ID . Любые строки, попадающие в {в;}
в диапазоне (или неполные, если они заканчиваются последней строкой) , которые соответствуют ! Not
match //
также p
ритинг.
Все, что проходит, - это строки /ID.* s /
, которые я явно p
rint, и все строки, встречающиеся между этим и следующим встречающимся ] / ID /
строка - или (включая) последняя строка, в зависимости от того, что наступит раньше.
ID number1 string
DS item11
DS item12
ID number3 string
DS item31
DS item32