You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何grep会改变swaymsg输出的文本格式?如何保留原格式?

为什么swaymsg配合grep后输出格式改变?如何保留原格式?

问题原因

问题的根源不在grep,而是swaymsg的自适应输出行为:

  • 当swaymsg检测到输出目标是终端(直接打印到屏幕)时,会输出人类友好的纯文本格式;
  • 当输出目标不是终端(比如通过管道传给grep、写入文件等)时,会自动切换为JSON格式输出。
    你看到的两种差异格式,本质是swaymsg的两种输出模式,grep只是触发了模式切换的条件,并非它修改了格式。

解决办法

强制swaymsg输出纯文本格式,无需检测输出目标,只需在命令中添加--pretty参数:

swaymsg -t get_inputs --pretty | grep -i touch

执行后,grep只会筛选包含指定关键词的行,完全保留原纯文本的格式。

内容的提问来源于stack exchange,提问作者Abdelrahman Essawy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 07:46:15