次のファイルは実行されますが、何もしませんが、エラーは発生しません。
while read dates; do ./avg_hrly_all_final.sh ${dates}; done < ./dates_all.csv
「dates_all.csv」には、次の形式の日付のリストがあります。
2005 01
2005 02
2005 03
私が "avg_hrly_all_final.sh"と呼ぶスクリプトは、2つの位置パラメータを渡すことによって機能します。たとえば、次のようになります。
./avg_hrly_all_final.sh 2005 01
フォローアップ
xargs -n2 ./the_script.sh <./dates_to_pass.csv
OR
while read dates; do ./the_script.sh ${dates}; done <./dates_to_pass.csv
動作します。渡したファイルの日付が、コマンドを実行しているコンピューターで予想される「行末」タイプと同じであることを確認してください。
ベストアンサー1
これは次のとおりですxargs
。
printf %s\\n '#!/bin/sh' 'printf "<%s>\n" "$$" "$@"' >avg_hourly.sh
chmod +x ./avg_hourly.sh
xargs -n2 ./avg_hourly.sh <<\IN
2005 01
2005 02
2005 03
IN
xargs
デフォルトは空白に分割され、-n2
指定されたコマンドは引数が発生するたびに1回呼び出されます。avg_hourly.sh
そこに1行に1つの引数を印刷し、両端で同じ形式で区切られ、<
PIDに従う小さなダミースクリプトを作成しました。>
上記は次のとおりです。
<1115>
<2005>
<01>
<1116>
<2005>
<02>
<1117>
<2005>
<03>
...デモ用だけです。しかし、おそらく<./dates_all.csv
私の文書の代わりに<<\IN
この文書を入力として使用する必要があります。