Манипуляция текстом - Добавить / удалить пробелы - PullRequest
1 голос
/ 02 апреля 2012

У меня есть текстовый файл, содержащий несколько строк одинакового размера: (Примеры)

0123456 789  AND abcdefg hij

Для всех строк в файле я хочу добавить пробел после символа 4th, сдвигая следующие символы вправо на 1 символ. Я также хочу удалить пробел из символа 8th (который будет 9th после добавления начального пробела).

У меня установлен Cygwin, поэтому sed - это опция. У меня также установлена ​​php и visual studio 2010.

Любая помощь по этому вопросу будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

В итоге я использовал Cygwin -> VIM.

Открыть входной файл в Vim Editor.

Перейти к первой строке, первый символ, используя ": 1"

Начните запись, используя «qa» (где a - имя вашего макроса)

Перейти к 4-му символу строки.

Войдите в режим редактирования, нажав «вставить» или «i»

Введите свой пробел.

Нажмите Esc.

Перейти к первому символу, нажав «Shift + ^».

Перейти к первому символу следующей строки.

Нажмите q, чтобы выйти из режима записи.

Теперь играйте все, что вы записали, сколько угодно раз. Если вы хотите играть в нее один раз, нажмите @a Если вы хотите повторить это 10 раз, введите 10 @ a (где a - это имя макроса, которое вы определили ранее)

Удаление пробела следует тем же шагам, за исключением того, что вам не нужно переходить в режим редактирования, просто зайдите в пространство, которое вы хотите удалить, нажмите x и продолжайте с инструкциями.

1 голос
/ 02 апреля 2012
sed 's/^\(....\)\(...\) /\1 \2/'
...