分页: 1 / 1
这个命令怎么写
发表于 : 2009-01-13 12:10
由 noovesky
1.输出文件a.txt中第2,3个空格之间的内容 ,若是在第n和n+1个空格之间呢?
2.已知文件b.txt中内容为:1.c 2.c 3.c 4.c. 用sed输出b.txt中第2个含.c的字符串,这里即2.c
最好用sed
Re: 这个命令怎么写
发表于 : 2009-01-13 14:11
由 bones7456
Re: 这个命令怎么写
发表于 : 2009-01-13 14:14
由 xiooli
1, awk '{print $3}' a.txt
2, awk '{print $2}' b.txt|grep ".c"
Re: 这个命令怎么写
发表于 : 2009-01-13 14:17
由 eexpress
sed -n '2p'
Re: 这个命令怎么写
发表于 : 2009-01-13 21:15
由 noovesky
最好用sed,我手机上没cut,3楼的命令报错
Re: 这个命令怎么写
发表于 : 2009-01-14 10:06
由 goodluck1982
手机? Moto Linux Mobile ?
Re: 这个命令怎么写
发表于 : 2009-01-14 21:02
由 noovesky
goodluck1982 写了:手机? Moto Linux Mobile ?
moto roka e6. linux系统,有些命令没有,有些被精简了
Re: 这个命令怎么写
发表于 : 2009-01-14 21:33
由 goodluck1982
noovesky 写了:goodluck1982 写了:手机? Moto Linux Mobile ?
moto roka e6. linux系统,有些命令没有,有些被精简了
呵呵,猜就是
我的是E2
Re: 这个命令怎么写
发表于 : 2009-01-15 6:08
由 aerofox
代码: 全选
sed 's/[^ ]* [^ ]* //; s/ .*//' a.txt
sed 's/[^ ]* //; s/ .*//' b.txt
Re: 这个命令怎么写
发表于 : 2009-01-15 12:28
由 aerofox
方法是多样的,用 shell 内部命令也可以解决:
代码: 全选
read a b c < b.txt
echo $b
Re: 这个命令怎么写
发表于 : 2009-01-15 17:18
由 noovesky
aerofox 写了:代码: 全选
sed 's/[^ ]* [^ ]* //; s/ .*//' a.txt
sed 's/[^ ]* //; s/ .*//' b.txt
如果要求是第n和n+1个空格之间呢?
Re: 这个命令怎么写
发表于 : 2009-01-15 21:15
由 aerofox
noovesky 写了:aerofox 写了:代码: 全选
sed 's/[^ ]* [^ ]* //; s/ .*//' a.txt
sed 's/[^ ]* //; s/ .*//' b.txt
如果要求是第n和n+1个空格之间呢?
代码: 全选
n=2
sed "s/\([^ ]* \)\{$n\}//; s/ .*//" a.txt
Re: 这个命令怎么写
发表于 : 2009-01-15 21:56
由 noovesky
aerofox 写了:noovesky 写了:aerofox 写了:代码: 全选
sed 's/[^ ]* [^ ]* //; s/ .*//' a.txt
sed 's/[^ ]* //; s/ .*//' b.txt
如果要求是第n和n+1个空格之间呢?
代码: 全选
n=2
sed "s/\([^ ]* \)\{$n\}//; s/ .*//" a.txt
非常感谢。我也想到了用\{$n\},不过我用',出错了。
“ 与 ' 有什么区别
Re: 这个命令怎么写
发表于 : 2009-01-15 23:21
由 aerofox
双引号内会做变量名扩展,就是把$n换成它的值,单引号不行。