分页: 1 / 1

搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 11:32
zglcx123
搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!
----------------------------------------------------------------------------------
cat abc.dat
京FZ1560 安勇

京HX6070 常莹

京L28280 陈卫进

京FV9020 陈跃

cat abc.dat | sed 's/\(京[A-Z]*[0-9]*\)\(.*\)/\2 \1/g'
安勇
京FZ1560
常莹
京HX6070
陈卫进
京L28280
陈跃
京FV9020

-------------------------------------
如何去掉名字后面的空格呀?我想变成下面这样的形式
安勇 京FZ1560
常莹 京HX6070

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 11:52
oneleaf
用python写吧,这个比较简单些。

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 11:55
zglcx123
不是我想用什么写就可以用什么写,否则我用C++写,几下就出来了

规定用shell,没办法呀

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 14:38
cnkilior
dos2unix

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 16:53
c\nc
awk '{print $2,$1}' abc.dat
这样符合不?

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 16:59
cheaper
c\nc 写了:awk '{print $2,$1}' abc.dat
这样符合不?
Good idea.

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 17:08
jioyo源
:em04 这样的问题 居然用sed,awk在这方面还是很方便的……

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 19:02
zglcx123
我自己搞定了,,,由于我这个是windows 下txt文件,,回车符不一样

用:
sed 's/^M/ /g' 去掉了每行后面的回车符,,就可以了

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-08 19:05
zglcx123
c\nc 写了:awk '{print $2,$1}' abc.dat
这样符合不?
这样的确是正确地!
但假如分隔符是些不可见的字符,,那就难办了,我这个其实就是这种情况,,
要处理的文件是windows下的txt文档,包含很多不可见字符,,所以我觉得这样就不行了

Re: 搞了一个晚上加一个早上,实在是没办法了,我上论坛来求助吧!!!!

发表于 : 2009-08-09 20:39
c\nc
zglcx123 写了:
c\nc 写了:awk '{print $2,$1}' abc.dat
这样符合不?
这样的确是正确地!
但假如分隔符是些不可见的字符,,那就难办了,我这个其实就是这种情况,,
要处理的文件是windows下的txt文档,包含很多不可见字符,,所以我觉得这样就不行了
请参考 awk 的手册,-F 参数是设置分割符,这个分割符可以是正则表达式的,当然可以包含不可见字符。