Как я удаляю согласующий отрезок длинной линии, строки выше и строки ниже в разделе?

Я недавно написал сценарий некоторых наших резервных копий в моем текущем задании.

DECLARE @backupName varchar(100)
--Set the location for your backup as well as trimming whitespace, :, and - characters
SET @backupName = 'C:\Backups directory\Backup Name_' + REPLACE(REPLACE(REPLACE(CONVERT(varchar,CONVERT(date, SYSDATETIME()), 20),'-',''),':',''),' ','') + '.bak'

BACKUP DATABASE [Database Name]
TO DISK = @backupName

Это создает резервное копирование в указанном местоположении с форматом DatabaseName_yyyymmdd.bak, который подобен форматированию инструмента обслуживания. Все, что необходимо сделать, применяют сценарий к базам данных и затем устанавливают его для выполнения как задание с помощью SQL Server Agent.

0
задан 19 January 2012 в 10:42
2 ответа

Может быть, такой сценарий awk:

awk -f this-script.awk my-nagios.conf> my-nagios.conf.new

# start of block
/^define/ {
  collecting = 1;
  matched = 0;
  buf = "";
}

# end of block
/}/ {
   collecting = 0;
   if (!matched) {
     print buf $0;
   };
   next;
}

# Row in bad block
/xxx.abc.com/ {
  if (collecting)
    matched = 1;
}

# Normal row
{
  if (collecting) {
    buf = buf $0 "\n";
  } else {
    print $0;
  }
}
1
ответ дан 4 December 2019 в 14:33
ed my-nagios.conf <<q
w my-bagios.conf~
g/xxx.xxx.com/ ?define?,/}/d
w
q
1
ответ дан 4 December 2019 в 14:33

Теги

Похожие вопросы