[英]How to use perl one-liner as an alias
要過濾文件的非連續行,下面的一線工作正常:
cat filename | perl -ane 'print unless $a{$_}++'
但是,當我嘗試將其用作別名並執行操作時,它無法按預期工作
alias uniqlines " cat \!* | perl -ane 'print unless \$a{\$_}++' "
錯誤如下
a: Undefined variable.
將tcsh shell用於SunOS操作系統
在bash中,此語法有效:
alias uniqlines="perl -ane 'print unless \$a{\$_}++' "
即使在tcsh中,這也是一種似乎可行的方法:
alias uniqlines 'perl -ane '"'"'print unless $a{$_}++'"'"' '
您想使用一個函數代替:
uniqlines(){ cat "$@" | perl -ane 'print unless $a{$_}++'; }
但這幾乎只是一種幻想的表達方式:
alias uniqlines=uniq
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.