
次の形式で指定されたファイルから入力を読み取る必要があります。
$ ./process_data.sh arg1 < input_data.txt
input_data
シェルスクリプトで読み込むにはどうすればよいですかprocess_data.sh
?
答え1
このような使用法では、それを読み取る方法はいくつかあります: while構文(引数とファイルinput_data.txtの各文字列を出力します)
#!/bin/bash
echo $1
while read STRING
do
echo $STRING
done
awk (引数とファイル入力データの2列目と3列目を出力します)
#!/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`