文件里面 shell 命令怎么把结果原本的重定向到另外一个文件里?
我知道在普通的终端(terminal)我输入head-10test.txt>output但我要是在一个文件里写上这个就不管用了。另外如果用echo`head-10test...
我知道在普通的终端(terminal) 我输入 head -10 test.txt > output
但我要是在一个文件里 写上这个就不管用了。
另外 如果用 echo `head -10 test.txt` 》output 本来是10行的东西, 重定向之后就变成1行,我想保持原貌该怎么办。不胜感激。 展开
但我要是在一个文件里 写上这个就不管用了。
另外 如果用 echo `head -10 test.txt` 》output 本来是10行的东西, 重定向之后就变成1行,我想保持原貌该怎么办。不胜感激。 展开
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
但是为什么要多此一举呢?
在脚本里和在终端运行的你那个命令的效果是一样的;不生效的原因很可能是你运行脚本的环境变量不同,解决方法①把脚本放到和test.txt一个文件夹下运行;②脚本中test.txt和output使用绝对路径。
问题2:
要输出10行,那么直接head -10 test.txt >> output就可以了呗,为什么要echo一下?
如果你非要echo,那么你要把空格替换为换行
echo `head -10 text.txt` | sed 's/ /\n/g' >> output
但是为什么要多此一举呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询