2017-01-30 18 views
1

У меня есть сценарий sed, который вставляет текстовую строку в определенную строку.SED-скрипт, как вставить строку в номер строки, если текст еще не существует?

Вот мой СЭД сценарий:

  • 20i - номер строки
  • \ - вставляет новый номер строки линии есть что-то в нем.
  • import NewPage from './newpage/index'; - текстовая строка, вставленная в строку.

файл - файл, в котором находится текст.

sed -i "20i \ import NewPage from './newpage/index'; " file 

То, что я пытаюсь достичь: возможность проверить, если ключевое слово «NewPage» существует в документе -> чем не вставить SED линии.

Любой способ сделать это?

Спасибо заранее, AT

ответ

0

Вы можете использовать комбинацию Grep и ваша команда и || в Баш, как это:

gep -c NewPage yourfile || sed -i "20i \ import NewPage from './newpage/index'; " yourfile 

Это работает так:

  • если первая команда не будет успешной (поиск слова), затем вторая команда после выполнения ||
  • , если первая команда выполнена успешно, вторая пропущена.
+0

Большое вам спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^