各ファイルに対して同時に同じコマンドを個別に実行する必要があります。
頑張った
for file in *.txt; do ./script <"$file"; done
ただし、最初のタスクを開始して完了するまで待ってから、次のタスクに進みます。
一緒に始める必要があります。
答え1
script
ユーザー入力が不要な場合は、シェルのジョブ処理機能を使用してバックグラウンドで実行できます。
for file in *.txt; do ./script <"$file" & done
コマンドに接続すると、&
バックグラウンドで実行されます。探す職業管理bash
(またはお気に入りのシェル)のマニュアルページで詳細をご覧ください。
答え2
ls *.txt > list
cat list | parallel './script {}' &
wait
まず、list
file.txt ファイルをリストします。parallel
コマンドはscript
file_name ごとにバックグラウンドで実行されます。最後のwait
コマンドは、追加のコマンドを続行する前にすべてのバックグラウンド操作が完了するのを待ちます。