免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1214 | 回复: 5
打印 上一主题 下一主题

一个文件中换行的俄问题:急需解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-19 17:28 |只看该作者 |倒序浏览
我有一个文件,所有的数据都放在一行,数据的长度不确定,有时候长度是非常长的
而~的个数不确定,数量很多,
基本格式是这样的:
dfs*fdfasf*fdsf~fdasfasf*fdasfasf*11~fdasfasfas*fdasfa*fdfaafdas~fdsafasf*fdsafas*fdasfa~fdsafsafsa*fdasfsa~
其中*是一个分割字符,~是一个换行符
我要形成这样一个文件:
dfs*fdfasf*fdsf~
fdasfasf*fdasfasf*11~
fdasfasfas*fdasfa*fdfaafdas~
fdsafasf*fdsafas*fdasfa~
fdsafsafsa*fdasfsa~
就是在~后面加一个换行符就是,
不知道那位大哥用SHELL的方式可以实现

论坛徽章:
0
2 [报告]
发表于 2006-12-19 18:30 |只看该作者
  1. awk -F"~" '{for(i=1;i<=NF;i++)print $i,"\n";}'  urfile
复制代码

论坛徽章:
0
3 [报告]
发表于 2006-12-19 18:32 |只看该作者
如果还需要“~”,
awk -F"~" '{for(i=1;i<=NF;i++)print $i,"~\n";}'  urfile

论坛徽章:
0
4 [报告]
发表于 2006-12-19 19:04 |只看该作者

  1. sed 's:~:&\
  2. :g'
复制代码

论坛徽章:
0
5 [报告]
发表于 2006-12-19 19:14 |只看该作者
原帖由 Edengundam 于 2006-12-19 19:04 发表

  1. sed 's:~:&\
  2. :g'
复制代码

替换内容可以直接用\n,gnu sed通过,印象中,商用UNIX的sed也可以。

论坛徽章:
0
6 [报告]
发表于 2006-12-19 19:17 |只看该作者
原帖由 一梦如是 于 2006-12-19 19:14 发表

替换内容可以直接用\n,gnu sed通过,印象中,商用UNIX的sed也可以。



^_^ 可能我的版本老, 还不支持 \n .


  1. $ sed --version
  2. GNU sed version 3.02

  3. Copyright (C) 1998 Free Software Foundation, Inc.
  4. This is free software; see the source for copying conditions.  There is NO
  5. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
  6. to the extent permitted by law.

  7. $ echo 'dfs*fdfasf*fdsf~fdasfasf*fdasfasf*11~fdasfasfas*fdasfa*fdfaafdas~fdsafa
  8. sf*fdsafas*fdasfa~fdsafsafsa*fdasfsa~' | sed 's:~:&\n:g'
  9. dfs*fdfasf*fdsf~nfdasfasf*fdasfasf*11~nfdasfasfas*fdasfa*fdfaafdas~nfdsafasf*fds
  10. afas*fdasfa~nfdsafsafsa*fdasfsa~n
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP