簡體   English   中英

在BASH別名或函數中使用awk

[英]Using awk in BASH alias or function

我有一個在命令行上運行正常的命令,但是當我嘗試將它放在別名或函數中時卻沒有。

$ awk '{print $1}' /tmp/textfile
0

這是正確的,因為'0'在“textfile”的位置1。

$ alias a="awk '{print $1}' /tmp/textfile"
$ a
1 0 136 94

這就是“textfile”中的整行。 我已經嘗試了各種各樣的引號,括號和反引號,我可以想象它們可能會起作用。 我可以用各種格式得到同樣的問題。

我不明白的是什么?

你需要像這樣逃避$

 alias a="awk '{print \$1}' /tmp/textfile"

否則你的別名是:

 awk '{print }' /tmp/textfile

打印整個文件...

使用函數而不是別名

myfunc(){ awk '{print $1}' file; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM