bash,执行" edmEventSize"命令,但我没有找到我tyoe bash script.sh

时间:2014-06-17 16:23:17

标签: bash loops for-loop edmx

我有一个文件,其中使用命令" edmEventSize"我可以 提取该文件的一条信息(这是一个数字) 但我知道我有700个文件,我必须执行该命令 而我正在尝试在bash脚本上执行此操作,但我不能只为事件做这件事 一个文件,因为我得到" edmEventSize命令未找到",我已经找到了 更多信息,但由于我是bash的新手,我无法解决这个任务 先谢谢你了

这是我的剧本

#/usr/bin/env sh
for i in {1..700}; 
do
FILE="Py6_BstoJpsiKs0_7TeV_RECO_Run-0${i}.root"

edmEventSize... $FILE.root > salida${i}.log
done

head *.log | grep "^File" | cut -f4 > a.txt 
rm *.log

1 个答案:

答案 0 :(得分:0)

正如大家所说,你可以像这样简化你的脚本:

#/bin/bash
for i in {1..700}; do
    FILE="Py6_BstoJpsiKs0_7TeV_RECO_Run-0${i}.root"
    /path/to/EdmEventSize "$FILE.root"
done | awk -F $'\t' '/^File/{print $4}' > a.txt

如果您的文件实际上采用Py6_BstoJpsiKs0_7TeV_RECO_Run-####.root格式,那么您真正需要的命令是:

    printf -v FILE 'Py6_BstoJpsiKs0_7TeV_RECO_Run-%04d.root' "$i"