+ -
当前位置:首页 → 问答吧 → Ubuntu下,fish怎样设置环境变量

Ubuntu下,fish怎样设置环境变量

时间:2011-03-20

来源:互联网

脚本中需要指定行打印,但是 -n 和q;d效率区别太大了。想用方法二实现
方法1:
root@SiteAA # time sed -n 50p xmlsoapdata_20110316_202910.log


real 0m0.197s
user 0m0.113s
sys 0m0.084s
方法2
root@SiteAA # time sed '50q;d' xmlsoapdata_20110316_202910.log


real 0m0.008s
user 0m0.002s
sys 0m0.006s

但是实际上遇到如下问题,说不认识这个命令。 又没有人能解?

设置变量
root@SiteAA # gtclinenum=5

直接用 sed '50q;d' GTC.txt 打印没问题:

root@SiteAA # sed '50q;d' GTC.txt
Received sequence : 8705629

用变量调用的时候就有问题

root@SiteAA # sed "'"$gtclinenum"q;d'" GTC.txt
Unrecognized command: '5q;d'

变量回显出来还是不行

root@SiteAA # sed `echo "'"$gtclinenum"q;d'"` GTC.txt
Unrecognized command: '5q;d'


请大家多多帮助,多谢多谢

作者: chunhe   发布时间: 2011-03-20

kose5@kose5-Aspire-4552:~$ cat test.txt
1 hola todos
2 encuentrame si puedes
3 me encontraste
4 adios
kose5@kose5-Aspire-4552:~$ gtclinenum=3
kose5@kose5-Aspire-4552:~$ gtcommd=$gtclinenum'q;d'
kose5@kose5-Aspire-4552:~$ sed $gtcommd test.txt
3 me encontraste
kose5@kose5-Aspire-4552:~$

作者: fnan   发布时间: 2011-03-20

1, 你的方法1肯定会慢,因为在打印第50行以后会处理所有的行,试试这个
代码:
sed -n '50{p;q;}'


2如果是变量可以这样
代码:
whateverVar=50
sed -n "$whateverVar{p;q;}" yourFile

作者: sk1418   发布时间: 2011-03-21

热门下载

更多