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