首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 系统运维 >

Vi轮换命令用法练习

2012-11-25 
Vi替换命令用法练习环境 RedHat Linux 9VWWare 8.0SSH 3.2.9 问题 假设有一个CSV(comma separated value)

Vi替换命令用法练习
环境

 

RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9

 

问题

 

假设有一个CSV(comma separated value)文件,里面有一些我们需要的信息,但是格式却有问题,目前数据的列顺序是:
姓名,公司名,州名缩写,邮政编码,现在我们希望讲这些数据重新组 织,以便在我们的某个软件中使用,
需要的格式为:姓名,州名缩写-邮政编码,公司名。
也就是说,我们要调整列顺序,还要合并两个列来构成一个新列。另外, 我们的软件不能接受逗号前后面有任何空格(包括空格和制表符)所

以我们还必须要去掉逗号前后的所有空格。


原文件是这样的:
Bill Jones,? ? ?HI-TEK Corporation ,? CA, 95011
Sharon Lee Smith,? Design Works Incorporated,? CA, 95012
B. Amos? ?,? Hill Street Cafe,? CA, 95013
Alexander Weatherworth,? The Crafts Store,? CA, 95014


我们希望把它变成这个样子:
Bill Jones,CA 95011,HI-TEK Corporation
Sharon Lee Smith,CA 95012,Design Works Incorporated
B. Amos,CA 95013,Hill Street Cafe
Alexander Weatherworth,CA 95014,The Crafts Store

 

 

解决

 

步骤一:将源文件保存成文本文档,如test.txt

 

步骤二:将test.txt上传到Linux中,这里可以使用SSH的文件上传功能。

 

Vi轮换命令用法练习

 

步骤三:将test.txt用vi打开

 

 

步骤四:执行以下命令(输入命令时注意输入冒号,退出保存输入wq,退出不保存使用q或者q!):

 

1 去掉所有的问号(?)

 

%s/?//g


 

 

2 去掉逗号前后的所有空格

 

%s/[ \t]*,[ \t]*/,/g


 

 

3 实现功能

 

 

%s/\([^.]*\),\([^.]*\),\([^.]*\),\([^.]*\)/\1,\3 \4,\2/g


 

 

实现效果

Vi轮换命令用法练习

 

 

1楼zswzg625昨天 18:27
求CSDN赐我1分!!!
Re: Wentasy昨天 18:28
回复zswzg625n汗。欢迎光临。
Re: zswzg625昨天 18:43
回复Wentasynhttp://download.csdn.net/download/shentuxuhui/809984n帮下个rpm包,只1分,给跪了 68243784@qq.com

热点排行