[问题]大家来看看如何处理这样的 文本

sh/bash/dash/ksh/zsh等Shell脚本
回复
coldweb
帖子: 45
注册时间: 2008-03-22 1:19
联系:

[问题]大家来看看如何处理这样的 文本

#1

帖子 coldweb » 2008-06-02 11:01

文件名:file01
内容如下:
@@ 21@@@AXI@@@32.000000@@@@104.000000@@@@@570.000000(注@代表一个空格)
我想让各字段之间用一个空格隔开:
结果如下:
21 AXI 32.000000 104.000000 570.000000
请问如何处理
上次由 coldweb 在 2008-06-02 11:03,总共编辑 1 次。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#2

帖子 BigSnake.NET » 2008-06-02 11:02

有不同吗.....
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
coldweb
帖子: 45
注册时间: 2008-03-22 1:19
联系:

#3

帖子 coldweb » 2008-06-02 11:04

呵呵,不好意思,刚才显示有点问题
你再看看
dbzhang800
帖子: 3182
注册时间: 2006-03-10 15:10
来自: xi'an China
联系:

#4

帖子 dbzhang800 » 2008-06-02 11:09

用 正则表达式
coldweb
帖子: 45
注册时间: 2008-03-22 1:19
联系:

#5

帖子 coldweb » 2008-06-02 11:10

呵呵,刚才临时学了一下AWK
原来只要用
awk ' {print $1,$2,$3,$4,$5} file01
就可以了 ,哎,看来我这新手还得好好学习哦
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#6

帖子 eexpress » 2008-06-02 11:18

sed下,把多个空格变一个就是啊。
接着cut就是输出了。

awk是牛刀。没必要
● 鸣学
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#7

帖子 xiooli » 2008-06-02 11:29

cat ./file |sed "s/ \+/ /g"
头像
alinmn
帖子: 185
注册时间: 2006-05-19 21:42
来自: NIT

#8

帖子 alinmn » 2008-06-02 12:34

cat filename | tr -s ' '
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

#9

帖子 Strange » 2008-06-02 12:43

windows的记事本就可以啦,无需用到*nix的高级工具
多次全局替换 " " 两个空格到 " " 一个空格,就可以了
ニンニク入れますか?
x60 with gentoo
头像
fatcat
帖子: 10
注册时间: 2008-06-11 14:13

#10

帖子 fatcat » 2008-06-14 9:46

代码: 全选

sed 's/ */ /' | sed 's/^ \| $//'
回复