我想通过从ZSH shell 运行来用分号替换TABs in .stdoutsed
我理解通常(在其他shell中)可以使用:
somecommand | sed 's/\t/;/g'
Run Code Online (Sandbox Code Playgroud)
但是,这在FreeBSD下的ZSH-shell中对我不起作用.在\t不匹配的制表符.为什么是这样?我也试过多个反斜杠(最多5个).
这确实有效:
somecommand | sed 's/[TAB]/;/g'
Run Code Online (Sandbox Code Playgroud)
,其中[TAB]是一个实际的TAB字符,通过输入Ctrl-V然后TAB键盘上的按钮插入.
使用zsh与它无关.这\t是sed中使用的正则表达式的GNU扩展.在BSD sed上,您没有扩展名,因此必须使用文字选项卡.