Sed 打印指定行的两种方法求解
发表于 : 2011-03-20 1:27
脚本中需要指定行打印,但是 -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'
请大家多多帮助,多谢多谢
方法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'
请大家多多帮助,多谢多谢