转换文件每行一个字

发布于 2024-09-12 13:19:41 字数 181 浏览 4 评论 0原文

我想将包含单词、空格分隔的文本文件转换为文件,其中每个单词出现在单独的行上将

 sdf sdfsd= sdfsdf 
sdfsdf

成为

  sdf
  sdfsd= 
  sdfsdf 
  sdfsdf

谢谢

I would like to convert a text file containing words, space separate to a file where each word appears on a separate line

 sdf sdfsd= sdfsdf 
sdfsdf

will become

  sdf
  sdfsd= 
  sdfsdf 
  sdfsdf

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

蓝眼睛不忧郁 2024-09-19 13:19:42

试试这个:

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

解释:

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

感谢@Dummy00001提出+想法。

Try this:

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

Explained:

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

Thanks to @Dummy00001 for the + idea.

看透却不说透 2024-09-19 13:19:42

输入以下命令:

:%s/ /\r/g

或任何适合您环境的回车符。 \r 代表 *nix,\n 代表 Windows。

enter the following command:

:%s/ /\r/g

or whatever the carriage return is for your environment. \r for *nix, \n for windows.

清引 2024-09-19 13:19:42

这也很容易编写为 shell 脚本,您不需要 sedawk

bash$ for word in $(cat input.txt); do echo "$word" >> output.txt; done

This is also easy to write as a shell script, you don't need sed or awk:

bash$ for word in $(cat input.txt); do echo "$word" >> output.txt; done
禾厶谷欠 2024-09-19 13:19:42
$ tr " " "\n"<file|sed -n '/^$/!p'
sdf
sdfsd=
sdfsdf
sdfsdf
$ tr " " "\n"<file|sed -n '/^$/!p'
sdf
sdfsd=
sdfsdf
sdfsdf
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文