Я хочу отсортировать сгенерированный DDL базы данных по имени объекта. Например, у меня есть следующий DDL:
CREATE TABLE MyTable3 (
col1 integer,
col2 varchar(10)
);
CREATE TABLE MyTable1 (
col1 integer
);
CREATE TABLE MyTable2 (
col1 integer,
col2 varchar(10),
time timestamp
time2 timestamp
);
И я хочу следующий вывод:
CREATE TABLE MyTable1 (
col1 integer
);
CREATE TABLE MyTable2 (
col1 integer,
col2 varchar(10),
time timestamp
);
CREATE TABLE MyTable3 (
col1 integer,
col2 varchar(10)
);
Я пытался с awk, но я не знаю, чтобы указать несколько строк: awk -F; '{print $ NB}'
Я обнаружил, что msort может быть решением, но этот пакет больше не поддерживается.
Как видите, каждый элемент может у меня разное количество строк, и я хочу отсортировать их по первой строке, содержащей имя объекта.
Какие еще варианты у меня есть, чтобы отсортировать документ по нескольким строкам и указанному c терминатору (точка с запятой).