中易网

文件里面 shell 命令怎么把结果原本的重定向到另外一个文件里?

答案:2  悬赏:0  
解决时间 2021-04-09 06:00
我知道在普通的终端(terminal) 我输入 head -10 test.txt > output
但我要是在一个文件里 写上这个就不管用了。
另外 如果用 echo `head -10 test.txt` 》output 本来是10行的东西, 重定向之后就变成1行,我想保持原貌该怎么办。不胜感激。
最佳答案
问题1:
在脚本里和在终端运行的你那个命令的效果是一样的;不生效的原因很可能是你运行脚本的环境变量不同,解决方法①把脚本放到和test.txt一个文件夹下运行;②脚本中test.txt和output使用绝对路径。

问题2:
要输出10行,那么直接head -10 test.txt >> output就可以了呗,为什么要echo一下?
如果你非要echo,那么你要把空格替换为换行
echo `head -10 text.txt` | sed 's/ /\n/g' >> output
但是为什么要多此一举呢?
全部回答
你可以试试popen 这个函数去实现下: #include  #include  int main(void) {         char tmp_buf[1024+1];         file *fp;         memset(tmp_buf, 0, sizeof tmp_buf);         fp = popen("ls -l", "r");         if(fp != null)             fgets(tmp_buf, sizeof(tmp_buf), fp);         printf("out:[%s]\n", tmp_buf);         pclose(fp);         return 0; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
王俊凯一个游戏里面女主有一个身份是本兮还是
新兴县云浮庆丰蒙古庄园在哪里啊,我有事要去
warning C4172: returning address of local
求人力资源专业群。要活跃一些的。
还有没有像 永恒纪元戒 这样的3D游戏?推荐一
已去便利店缴了半年有线电视费,一天后又从我
麦滋豪(永中店)地址在什么地方,想过去办事
这是什么情况 gta5上不去线上
重装系统WIN8,不能上网了,路由器正常,手机
7879便利店地址在哪,我要去那里办事
泉子沟大桥我想知道这个在什么地方
air Jordan在中国生产吗?中国有厂吗?
历史上有馥雅公主这个人吗?
在等比数列{an}中前n项和为Sn,若S3=3,S6=27求
win8怎样设置让电脑不灭屏
推荐资讯
我股东代码泄漏了,帐号危险吗
有谁用过理光打印机的?好用吗?它有什么优势
叶童有孩子吗
桌面上有的快捷方式显示位置是Internet,这是
颜厝地址在什么地方,想过去办事
建设广场/红树路(路口)怎么去啊,有知道地址
我儿子不高烧但是脸蛋和耳朵特红,这是怎么回
信用证中container number和seal number是什
iphone虎牙手游录制服务启动失败是怎么回事
四驱兄弟中跃动冲锋在哪一集
单门独院的房子院子里长方形好吗
一个网站的端口被关闭,如何打开
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?