在循環內執行 Grep 指令會出現錯誤

在循環內執行 Grep 指令會出現錯誤

我正在嘗試創建一個小程式來根據某些用戶提供的時間範圍來計算一組日誌檔案中的行數。錯誤 grep: |: 沒有這樣的檔案或目錄 grep: wc: 沒有這樣的檔案或目錄

執行發生在下面程式碼的第 6 行。第 7 行顯示了我嘗試執行的範例命令。如果我註解第 6 行並取消註解第 7 行,它就會執行。我可能會錯過一些簡單的東西。感謝你的幫助。這些變數的值如下所示

fileName="'summary_* | wc -l" command="grep '" comm=ived>20161215110

1 for (( z=0; z<($interval/10); z++ ))
2 do
3       comm=$tempCommand$count
4       let "count = $count + 1"                                
5       #echo "$command$comm$fileName"
6       totalCount=`$command$comm$fileName`
7       #totalCount=`grep 'ived>20161215110' summary_* | wc -l`
8       echo $totalCount
9 done

答案1

shell|在解析一開始就辨識元字元。當擴展變數值時,已經為時已晚,因此|表現為文字垂直條,即就像您運行一樣

grep 'ived>20161215110' summary_* \| wc -l

您可以使用函數代替變數。

相關內容