我有一個腳本,針對一個文件運行,並從用戶獲取參數,並通過grep和awk發送以獲取所需的列。它會返回多行。我想要做的是通過grep | awk的輸出讀取(或類似的東西),並通過另一個腳本(./lookup)運行它。我的問題是我怎樣才能遍歷每一行,並通過腳本中的腳本來運行該行上的內容。希望這是有道理的,我是新手腳本和Linux。Bash Scripting-作爲輸入到另一個腳本的Grep/Awk輸出
#!/bin/sh
x=$(grep "$*" "$c"|awk '{print $6}')
while read LINE
do
./lookup $x
done
這似乎工作,但只對輸出的第一行。它還要求我按Enter鍵來獲取./lookup腳本的輸出。任何想法或幫助?謝謝!
我覺得'$ *'這裏指的是參數列表,它會被shell插入 – luqui 2014-10-01 05:24:38
我沒有意識到,謝謝!我推理使用$ *是爲了防止主要腳本(./find Los Angeles)輸入一個以上的單詞作爲參數。有沒有更簡單的方法來確保整個字符串通過? – swam 2014-10-01 05:28:23
通常需要用戶將引數括在引號中,例如'./find'Los Angeles''。 – Barmar 2014-10-01 05:29:24