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

我知道在普通的终端(terminal) 我输入 head -10 test.txt > output
但我要是在一个文件里 写上这个就不管用了。
另外 如果用 echo `head -10 test.txt` 》output 本来是10行的东西, 重定向之后就变成1行,我想保持原貌该怎么办。不胜感激。

第1个回答  推荐于2017-10-01
问题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
但是为什么要多此一举呢?本回答被提问者采纳
相似回答