bash
  • grep
  • 2014-09-12 69 views -2 likes 
    -2

    我在Ubuntu中編寫了一個bash腳本。我用grep內:在bash腳本中使用grep

    resultfolder=$(grep 'ResultsFolder' "$clientConfig" | cut -f2 -d '=') 
    

    據此,clientConfig是我想要的搜索字符串「resultsFolder」的文件的絕對路徑。 執行時,他給我的錯誤:沒有這樣的文件或目錄。

    但我可以在沒有任何錯誤的終端執行此命令。這是因爲在他真正知道這個之前他使用了$clientConfig嗎?我該如何解決這個問題?

    在此先感謝!

    +0

    請給更多的上下文。 '$ clientConfig'中有什麼文件名或什麼? – fedorqui 2014-09-12 12:55:24

    +0

    你提到搜索模式的文件嗎? – Kalanidhi 2014-09-12 12:59:18

    +0

    嘗試在運行此命令之前打印$ clientConfig,並查看$ clientconfig是否包含正確路徑的文件 – Ram 2014-09-12 13:07:31

    回答

    0

    您應該只看$ clientConfig的值 在grep之前添加回顯。 如果$ clientConfig比你需要圍繞它去掉雙引號(「)的單個文件更

    echo \#$clientConfig; grep 'ResultsFolder' "$clientConfig" | cut -f2 -d '=') 
    
    0

    $ clientConfig是一個單一的文件和echo $clientConfig給我的下一個結果:

    /groups/wall2-ilabt-iminds-be/projectfilip/videostreaming/libdashclient/emulationclient/client_config.ini 
    

    這個結果是對文件的正確路徑

    0

    試試這個:

    resultfolder=$(awk -F= '/ResultsFolder/ {print $2}' "$clientConfig") 
    
    相關問題