Sed

嘗試使用 .* 發送某些字元串時無法在 tcsh shell 中創建別名

  • June 3, 2020

我正在嘗試在tcsh shell 中創建此別名:

alias repeat 'zgrep -i __NCELAB_SNAPSHO \!* | grep -v make | grep -v Flags | sed 's#CODE_COVERAGE_TYPES.*TEST_DONE=1##g''

並得到一個錯誤:

alias: No match.

請告訴我我應該怎麼做才能生成這個別名?

謝謝

您應該能夠在您的問題中看到問題所在。查看語法突出顯示。問題是您在別名周圍有一個單引號,但在其中也使用單引號作為sed命令。試試這個:

alias repeat "zgrep -i __NCELAB_SNAPSHO \!* | grep -v make | grep -v Flags | sed 's#CODE_COVERAGE_TYPES.*TEST_DONE=1##g'"

或者:

alias repeat 'zgrep -i __NCELAB_SNAPSHO \!* | grep -v make | grep -v Flags | sed "s#CODE_COVERAGE_TYPES.*TEST_DONE=1##g"'

引用自:https://unix.stackexchange.com/questions/590605