パラメータの参照ループ変数

パラメータの参照ループ変数

grepいくつかの異なるファイルにいくつかの文字列を保存し、新しいファイルに保存し、catそのファイルの内容を端末に保存するスクリプト(myscript.sh)にループがあります。

for i in {1..201..5}; do
        grep "Pitch" filename-$i.log | cut -d" " -f25
done > pitch.txt
echo "========Pitch==========="
cat pitch.txt

コマンドラインで実行したいことは次のとおりです。

./myscript.sh filename-$i.log

i次に、myscript.shの引数で参照された変数を繰り返しながらmyscript.shを実行します。

私の目標を正しく説明してほしいです。

ベストアンサー1

別のファイル名の基本部分を最初の引数としてスクリプトに渡すには、ループを次のように変更します。

for i in {1..201..5}; do
        grep "Pitch" "${1}-${i}" | cut -d" " -f25
done > pitch.txt

(ダッシュは常に存在し、引数の一部として渡されず、ファイル名の変数部分は常に最後にあると仮定します)

おすすめ記事