Как я нахожу слово и добавляю текст после него в .txt файле?

Как я могу найти слово (например, "/dn") в текстовом файле и прибавить следующую строку другое слово (например, "/период")?

Я хотел бы выполнить его с помощью MS DOS.

Я имею в виду этот "/dn" (после того, как/dn является пространством), одно слово (не, фрагмент текста, но целое слово - после/dn может быть другим словом на той же строке), который я хочу найти и затем после него на следующей новой строке, не заменяя другие строки и другие слова. Я имею в виду, создают новую строку между уже существующими строками.

Например, если у меня есть этот входной файл:

/dn
/name

Я хочу этот вывод:

/dn
/period
/name

и "/" символ должен быть с dn, не без него.

4
задан 27 July 2017 в 04:36

2 ответа

1. Используя sed добавить

Если Вы хотите абсолютно новую строку со словом /period после каждой строки, содержащей /dn затем используйте sed добавьте:

sed '\:\dn:a/period' filename

вывод для Вашего образца был бы:

/dn
/period
/name

1.Примечания

  • :\dn: поиск \dn
  • a/period добавить /period к следующей строке (новая строка).

2. Ищите и добавьте в конец следующей строки

Если Вы хотите /period в конце следующей строки затем используют его как это:

sed ':/dn: { N; s:$:/period: }' filename

Вот демонстрационный вход:

/dn
/name

и вывод:

/dn
/name /period

2.Примечания

Сначала мы ищем строки с /dn, затем мы добавляем /period в конце ($) следующая строка (N;).

10
ответ дан 1 December 2019 в 08:59

Если file.txt содержит строку /dn затем можно выполнить эту команду:

$ grep -i "\/dn" file.txt | xargs -I{} printf "%s\n/period" {}

Это распечатает

/dn
/period
0
ответ дан 1 December 2019 в 08:59

Другие вопросы по тегам:

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