簡體   English   中英

如何在 BASH shell 腳本中的終端中獲取多個文件

[英]How to take multiple files in terminal in BASH shell scripting

...... 這個問題就解決了。

目前 $I 正在引用循環的迭代,因此 1,2,3.... grep 找不到這些文件,因此出現錯誤。

有兩種方法可以解決這個問題。 $@ 包含傳遞給腳本的參數,因此您可以嘗試:

grep "enthalpy new" "$@" >> step.txt

或者,如果您想遍歷每個參數/文件,請嘗試:

for fil in "$@"
do
      grep  "enthalpy new" "$fil" >> step.txt
done

要輸入文件名或任何其他變量,您必須使用 $1 $2 $3 例如作為腳本的輸入。 如果您將它們放在特定目錄中(比如說./output)並在父目錄中調用不帶變量的腳本,它會更靈活 - 那么它會在放置多少文件方面更加靈活,沒有確定變量並捕獲代碼注入的輸入 - 代碼應如下所示:

for i in $(find ./output -name '*.out')
    do
        grep "enthalpy new" $i >> step.txt  
    done

暫無
暫無

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

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