Shell腳本如何從檔案讀取輸入

Shell腳本如何從檔案讀取輸入

我需要從以下格式給出的文件中讀取輸入。

$ ./process_data.sh arg1 < input_data.txt

如何讀取input_data我的 shell 腳本process_data.sh

答案1

在這種用法中,有幾種方法可以讀取它: while 構造(將輸出參數和檔案 input_data.txt 的每個字串)

#!/bin/bash
echo $1
while read STRING
do
    echo $STRING
done

awk(將輸出參數以及檔案輸入資料的第二列和第三列)

#!/bin/bash
echo $1
awk '{print $2" "$3}'

等等。您可以使用 sed、cut 和許多其他 unix 實用程序,如範例所示。實用程式的選擇取決於您需要如何轉換輸入資料。當然,您可以根據需要更改範例。

祝你好運=)

答案2

在您的 process_data.sh 中您可以編寫以下程式碼

while read line
do
   #work on data
done < `cat input_data.txt`

相關內容