ファイルを繰り返し、行を位置引数として別のファイルに送信します。

ファイルを繰り返し、行を位置引数として別のファイルに送信します。

次の形式の日付を含むファイル(dates.txt)を繰り返したいと思います。

2009 08 03 08 09
2009 08 03 09 10
2009 08 03 10 11
2009 08 03 11 12
2009 08 03 12 13
2009 08 03 13 14

そして、各行の各フィールドを位置パラメータとして別のスクリプトに渡します。

つまり、コマンドラインに次のように入力すると、別のスクリプトが実行されます。

$ . the_script 2009 08 03 08 09

頑張りましたfor i in $(./dates.txt);do echo ${i};done

しかし、以下を得る:

./dates: line 1: 2009: command not found
./dates: line 2: 2009: command not found
./dates: line 3: 2009: command not found
./dates: line 4: 2009: command not found
./dates: line 5: 2009: command not found
./dates: line 6: 2009: command not found

ここではすべての行で動作していることがわかりますが、おそらくすべてのフィールドで動作が中断される可能性があります。

上記の理由から、読み取り行を別のスクリプトに位置引数として渡す方法がわかりませんでした。どこで働くべきか分からないのですか?助けてください!

ベストアンサー1

たぶんそれはどういう意味ですか?

while read -d $'\n' i; do echo $i;done <./dates

while read -d $'\n' i; do . the_script $i;done <./dates

おすすめ記事