Конвертировать файл по одному слову в строке - PullRequest
2 голосов
/ 29 июля 2010

Я хотел бы преобразовать текстовый файл, содержащий слова, пробел, отдельный для файла, где каждое слово появляется в отдельной строке

 sdf sdfsd= sdfsdf 
sdfsdf

станет

  sdf
  sdfsd= 
  sdfsdf 
  sdfsdf

спасибо

Ответы [ 4 ]

6 голосов
/ 29 июля 2010

Попробуйте:

:%s/\s\+/\r/g

Объяснено:

:%     // whole file
 s     // substitute
 \s\+  // some number of whitespace characters
 \r    // for carriage return

Спасибо @ Dummy00001 за идею +.

1 голос
/ 29 июля 2010
$ tr " " "\n"<file|sed -n '/^$/!p'
sdf
sdfsd=
sdfsdf
sdfsdf
1 голос
/ 29 июля 2010

Это также легко написать в виде сценария оболочки, вам не нужно sed или awk:

bash$ for word in $(cat input.txt); do echo "$word" >> output.txt; done
1 голос
/ 29 июля 2010

введите следующую команду:

:% s / / \ r / g

или любой другой возврат каретки для вашей среды.\ r для * nix, \ n для windows.

...