我想要一个执行fallowing命令的别名:
zgrep 'failed at' $PWD/RESULTS/log_dir/* | cut -d"'" -f2,4 | tr "'" "\t"
我尝试过不同的方法将它放到别名中,但它们似乎都没有用。 例如,我的一些尝试:
alias get_failed "zgrep 'failed at' $PWD/RESULTS/log_dir/* | cut \"\'\" -f2,4 | tr \"\'\" \"\\t\""
alias get_failed "zgrep 'failed at' $PWD/RESULTS/log_dir/* | cut \"\'\" -f2,4 | tr \"\'\" \"\\t\"
和其他人,我如何制作别名?
答案 0 :(得分:3)
问题是由csh功能引起的:如果你已经在一个“引用的字符串中,你就无法逃脱”(它与'相同)。由于兼容性问题,这仍然是默认设置。您可以使用saner shell或使用backslash_quote
配置:
set backslash_quote
alias get_failed "zgrep 'failed at' $PWD/RESULTS/log_dir/* | cut -d\"'\" -f 2,4 | tr \"'\" \"\\t\""
另外,请注意您的切换调用会删除任何单引号('),因此您的tr调用不会做太多。 (编辑我的答案几次,以确保它完全符合你原来的命令。)