txtファイルに保存されているファイルのリストがあります。
./test7
./test4
./test1
./test5
./test6
./test10
./test8
./test2
./test9
./test3
これらすべてのファイルに対してコマンドを実行したいのですが、両方のファイルを処理してから1秒間待機したいと思います。たとえば、次のようになります。
cp ./test1 test1-backup
cp ./test2 test2-backup
sleep 1
cp ./test3 test3-backup
cp ./test4 test4-backup
sleep 1
...
cp ./test9 test9-backup
cp ./test10 test10-backup
Bashスクリプトでこれを達成する方法はありますか? 1回の繰り返し(sleep 1呼び出し)中に実行されるコマンドの量をパラメータ化したいと思います。もう一つの問題は、実際のファイルリストが数十万行に達することです。
ベストアンサー1
私はあなたが実際のシナリオを説明していないと仮定します。何十万ものファイルをコピーしたいだけでなく、何十万秒も眠りたいと思うかもしれません...何? ! ?
それでも:
while IFS= read -r file1
IFS= read -r file2
do
cp "$file1" "${file1##*/}-backup"
cp "$file2" "${file2##*/}-backup"
sleep 1
done < inputFile