ネットワークpingでファイルを読み込み、TCPプロトコルが取得するパラメータを計算するAWKスクリプトを使用してBashスクリプトを作成しました。タイムアウトとestimatedRTTのようなものです。"awkは読み込み用ファイルを開くことができません(そのようなファイルやディレクトリはありません)" forループのbashスクリプト
フォルダ内のすべてのファイルを読み込むためにforループに挿入しましたが、読み込めないというエラーが発生します。コードは以下の通りです:
for f in *.txt
do awk '
function abs(v) {return v < 0 ? -v : v}
BEGIN {
alpha=0.125;
beta=0.25;
}
FNR == 1 {
sampleRTT=$1;
estimatedRTT=SampleRTT;
devRTT=0.0000;
timeoutInterval=EstimatedRTT;
printf("%f\t%f\t%f\n", sampleRTT, estimatedRTT, timeoutInterval)}
FNR > 1{
sampleRTT=$1
estimatedRTT=((1-alpha)*estimatedRTT)+(alpha*sampleRTT);
devRTT=((1-beta)*devRTT)+(beta*(abs(sampleRTT-estimatedRTT)));
timeoutInterval=estimatedRTT+(4*devRTT);
printf("%f\t%f\t%f\n", sampleRTT, estimatedRTT, timeoutInterval)}' %f
done
$ f、 '$ f'、 '$ f'を使ってみました。なし。一度に1つのファイルを読むだけで動作します。ファイルを削除したり、別のフォルダでスクリプトを実行したりしませんでした。
'$ f'を二重引用符で囲みてください。' '$ f" ' –
Alredyが試みました。動作しません。 – MasterGeekMX
する必要があります! '' awk'の前に '' echo "$ f"; 'を追加してみてください... –