Chinaunix
标题:
每行空格前加一个\
[打印本页]
作者:
ybbdnvjfd
时间:
2012-02-03 12:08
标题:
每行空格前加一个\
各位好:
file文件内容:
yadfasf pouiopi
yidiiaiii fafdasfa
werwer faadfa
ifidififid dfdifid fidifdifid
fidfid fkdfkdkf
file文件中有5800行每行都有一个空格,我想在每行空格前面加一个\请问大家怎么做?实现结果如下:
yadfasf\ pouiopi
yidiiaiii\ fafdasfa
werwer\ faadfa
ifidififid\ dfdifid\ fidifdifid
fidfid\ fkdfkdkf
请大家帮忙解决谢谢。
作者:
hbmhalley
时间:
2012-02-03 12:20
sed 's/ /\\ /g' file
作者:
rebeccaliyu
时间:
2012-02-03 12:33
awk -F' ' '{print $1 "\" $2}'
作者:
q369965658
时间:
2012-02-03 13:25
这个方法不错
awk '$1 "\" $2'
作者:
ybbdnvjfd
时间:
2012-02-03 13:55
只能将就用,这方法我用过,只是太麻烦,如果我一行有N个空格,你要写N个$n吗
作者:
Shell_HAT
时间:
2012-02-03 13:56
awk 'gsub(/ /,"\\ ")' urfile
复制代码
sed 's/ /\\&/' urfile
复制代码
作者:
jason680
时间:
2012-02-03 14:04
use awk and set OFS='\ '
$ echo '10 235 1 123
10 234 1 122' | awk -vOFS='\\ ' '{$1=$1}1'
10\ 235\ 1\ 123
10\ 234\ 1\ 122
作者:
yangkyo821
时间:
2012-02-03 14:22
也许将每行前后都加上"更好
作者:
Shell_HAT
时间:
2012-02-03 15:09
回复
7#
jason680
echo '10 235 1 123
10 234 1 122' | awk -vOFS='\\ ' '$1=$1'
复制代码
作者:
yinyuemi
时间:
2012-02-03 15:41
本帖最后由 yinyuemi 于 2012-02-03 15:47 编辑
回复
9#
Shell_HAT
hat兄,“鸡蛋里挑骨头”,如果$1碰巧是0的话会有问题,awk '($1=$1)||1'这样会保险些:wink:
作者:
jason680
时间:
2012-02-03 15:55
回复
10#
yinyuemi
>> awk '($1=$1)||1'这样会保险些
it will be return to normal with "awk '{$1=$1}1'".
it's short and easy to understand.
作者:
yinyuemi
时间:
2012-02-03 16:00
回复
11#
jason680
是的,你写的没问题
作者:
Shell_HAT
时间:
2012-02-03 16:21
回复
10#
yinyuemi
Yes, we never be too careful.
作者:
tuzkee
时间:
2012-02-03 16:52
楼上思维挺严密的嘛
作者:
xrzs1986
时间:
2012-02-04 00:43
回复
10#
yinyuemi
good~ 习惯很好呵呵~
也可以这样写:NF+=0; $0=$0 也比较保险
作者:
lhylhy38
时间:
2012-02-04 13:05
-。-思路就是把 " " 替换成 "\ "
作者:
lastfile
时间:
2012-02-04 16:36
学习awk方法
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2