2012-11-27 35 views
1

因爲我還沒有找到解決方案,谷歌或搜索功能,我會問這裏。在帶參數的shellscript中使用awk?

這裏是我的代碼:

Send="last -n 1 $1 | awk '{ print $1 " " $2 }'" 

我的問題是,我的shell腳本使用的參數。

當我打電話給我的腳本:

myScript hello world 

然後我AWK-命令看起來像

awk '{ print hello " " world }' 

但我怎麼能避免這種情況?有沒有辦法?

因爲這是項目的一部分,我無法發佈更多的代碼。 ;/

+0

你什麼你'$ Send'變量做 –

+0

這是一個用戶的身份,不發送重複的消息;?) 也許名字有​​點搞不清 – demonking

回答

1
  1. 第一變化外「's到$()這樣:send=$(last -n 1 $1 | awk '{print $1 " " $2}')

  2. 使用FS(字段分隔符)變量默認爲在AWK代替空間 「」 爲一個空間,以便:send=$(last -n 1 $1 | awk '{print $1 FS $2}')

+1

感謝您的幫助 它的工作原理:) – demonking

+4

用''替換'FS',因爲這是OFS的目的。 –

+1

都有效。可以做出一個論點,與'FS'相比,輸入更少,但是我的偏好是'FS'。因爲它有助於我在邏輯上做出區分,而逗號容易被忽略。特別是在查看舊代碼時。偏好真的。 – matchew