OSZICARというファイルが含まれていないディレクトリを見つけて、そのディレクトリにcdして追加の作業を実行します。

OSZICARというファイルが含まれていないディレクトリを見つけて、そのディレクトリにcdして追加の作業を実行します。

OSZICARというファイルが含まれていないディレクトリを見つけて、そのディレクトリにcdして追加の操作を実行したいと思います。

私が今持っているものは次のとおりです。

find `pwd` -mindepth 2 -maxdepth 2 -type d -exec sh -c "echo {}; cd {}; ls; if [! -f $0/OSZICAR];echo "doing my thing";fi" \;

しかし、エラーが発生しました。誰でも助けることができますか?ありがとう

私の初期コマンド(「OSZICARなし」基準を除く)は次のとおりです。

find `pwd` -mindepth 2 -maxdepth 2 -type d -exec sh -c "echo {}; cd {}; ls; cp ../../submit_script_Stampede.sh .; ls;sed -i s/Monkhorst/Gamma/ KPOINTS; cp CONTCAR POSCAR ;sbatch submit_script_Stampede.sh" \; 

ベストアンサー1

for dir in $(find ${PWD} -mindepth 2 -maxdepth 2 -type d)
do
  cd ${dir}
  ls OSZICAR > /dev/null 2>&1; r=${?}
  if [ ${r} -ne 0 ]
  then 
    # do your thing here
  fi
done

おすすめ記事