удалить все строки, начинающиеся с: INSERT INTO `mdl_logstore_standard_log` VALUES - PullRequest
1 голос
/ 30 марта 2020

У меня есть текстовый файл SQL на моем Linux сервере, и мне нужно удалить все строки, начинающиеся с

INSERT INTO `mdl_logstore_standard_log`

Ответы [ 2 ]

2 голосов
/ 30 марта 2020

Похоже, дубликат это .

Следуя «Лучшему решению» в выбранном ответе, вы, вероятно, захотите использовать sed. Это удалит строки без необходимости открывать файл.

Для вашего конкретного c случая вы можете запустить

sed '/^INSERT INTO `mdl_logstore_standard_log`/d' text_file.sql > new_text_file.sql

, где вы замените text_file.sql и new_text_file.sql с вашим текущим файлом и файлом с удаленными строками. Вы также можете рассмотреть вариант -i (или эквивалент --in-place), если вы предпочитаете перезаписать свой предыдущий файл новым.

1 голос
/ 30 марта 2020

Вы можете достичь этого с помощью vim. Откройте файл, введите: g и убедитесь, что вы выполнили следующее:

:g/^INSERT INTO `mdl_logstore_standard_log`/d

Объяснение: - ^ - начало строки, здесь означает, что начинается с - d, в конце означает, что удалить - шаблон между слешами находится шаблон для поиска

Если все выглядит хорошо, нажмите: w, чтобы сохранить файл.

...