Linux 重定向小问题求解

Ayang0836 2019-01-09 05:08:03
如图,有文件 phone 内容:
abb 122
bcc 233
cdd 344
dee 445

若 shell 输入:cat phone|grep -v bcc
得到结果:
abb 122
cdd 344
dee 445

若 shell 输入:cat phone|grep -v bcc > phone
预想结果应该是 phone 文件内容为(abb、cdd、dee)
但此时 cat phone 缺输出空,phone 变成了空文件。求解答

...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ayang0836 2019-01-10
  • 打赏
  • 举报
回复
结贴: cat phone|grep -v bcc > phone 修改为: cat phone|grep -v bcc >trance cat trance >phone 达到目的输出。
Ayang0836 2019-01-10
  • 打赏
  • 举报
回复
引用 1 楼 u010559460 的回复:
我的理解是这样的 ,cat phone | grep -v bcc > phone 这句话不是直接从左到右边执行那么简单. 因为有了 ">"重定向, 所以第一步phone文件会被清空, 所以cat phone的结果是空, 在grep 过滤的结果也是空, 所以输出到phone的结果是空
是的,应该是如此。那应该怎么修改。试过左边加括号不行。
踏 浪 2019-01-09
  • 打赏
  • 举报
回复
我的理解是这样的 ,cat phone | grep -v bcc > phone 这句话不是直接从左到右边执行那么简单. 因为有了 ">"重定向, 所以第一步phone文件会被清空, 所以cat phone的结果是空, 在grep 过滤的结果也是空, 所以输出到phone的结果是空

18,777

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧