находить .и заменить на.& новая линия & ;в OSX (для новичка) - PullRequest
2 голосов
/ 16 ноября 2011

Вот что я пытаюсь сделать: заменить все экземпляры периода на (1) точку, (2) новую строку и (3) точку с запятой. Есть много вопросов об этом, на которые я смотрел, но они предполагают много знаний программиста. Вот некоторые вещи, которые мне нужно сделать, но я не знаю, как это сделать:

  1. Укажите путь к тексту, который вы хотите найти и правильно замените.
  2. Написание команды поиска и замены.
  3. Выбор используемого инструмента unix (необходима поддержка вставки новых строк).
  4. Правильный запуск с терминала.
  5. Как представить новую строку в соответствующем инструменте.
  6. Наверное, есть еще кое-что, о чем я не подумал.

1 Ответ

4 голосов
/ 16 ноября 2011

Вы можете сделать это с помощью awk.

awk -F"." -v OFS=".\n;" '{ $1=$1; print $0 }' filename.txt

Для этого необходимо просмотреть каждую строку текстового файла filename.txt как запись, разделенную точками, перестроив запись с точкой, новой строкой и точкой с запятой в качестве нового разделителя полей.

Приложение Чтобы записать вывод в файл, используйте перенаправление, подобное этому:

awk -F"." -v OFS=".\n;" '{ $1=$1; print $0 }' filename.txt > outfile.txt
...