Alias

別名 grep'1’f我是我的____oes_n′twork,somehow'1’F一世l和n一個米和d○和sn′噸在○rķ,s○米和H○在'1’ filename doesn’t work, somehow ‘1’ 不見了

  • October 21, 2020

普通的grep

wolf@linux:~$ egrep 4.4.4.4 data.csv 
A,4.4.4.4,4.4.4.5,4.4.4.6,3.3.3.3,3.3.3.4
wolf@linux:~$ 

因為我有很多數據要 grep,所以我把它放在別名上。

wolf@linux:~$ alias z="egrep $1 data.csv"
wolf@linux:~$ 

但它不起作用

wolf@linux:~$ z 4.4.4.4
grep: 4.4.4.4: No such file or directory
wolf@linux:~$ 

事實證明,$1別名中缺少它。

wolf@linux:~$ alias z
alias z='egrep  data.csv'
wolf@linux:~$

這背後的原因是什麼?

嘗試一個函式而不是別名

z() { egrep -- "$1" data.csv; }

輸出

$ z() { egrep -- "$1" data.csv; }
$ z 3.3.3.3
A,4.4.4.4,4.4.4.5,4.4.4.6,3.3.3.3,3.3.3.4
B,1.1.1.1,1.1.1.1,1.1.1.2,1.1.1.3,3.3.3.3
$ 

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