有关sed命令中引用变量的问题

for(int i=0;i<count;i++)
{ qDebug()<<"i"<<i;
dir[i]=exec(QString("cat /tmp/qafindtest | sed -n ' $i p ' " ).toLatin1().data()).trimmed();
qDebug()<<dir[i];
qDebug()<<i;
}
我写了这样一个函数 ,目的是将/tmp/qafindtest这个临时文件中的所有行依靠for循环,依次存入dir这个数组,我的问题是sed -n ' $i p ' ",这个i的变量值如何引用才能在sed命令中有效。

因为 i 是shell变量而不是sed中的变量,需要单独拿到 sed 的单引号外面来才能被 shell 解析(空格等字符还留在单引号里)。单引号里面是 sed 的势力范围,shell 无法触及。
试试这样:sed -n ‘ ’$i' p '
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-02
用 eval sed -n ‘$i p’

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网