내 Linux 환경에는 다음과 같은 폴더 구조가 있습니다.
|-- Fixed_Zip
| |-- ipython_notebooks
| | |-- notebook editor for compute_0anXhGEj.ipynb
| | |-- notebook editor for compute_aucScores.ipynb
| | |-- notebook editor for compute_nG27bM3w.ipynb
| | |-- notebook editor for compute_test_scored_scikit1.ipynb
보시다시피 내 파일 이름에 공백이 있습니다. Fixed_Zip
폴더의 모든 하위 디렉터리를 반복하고 다음 명령을 실행하려면 어떻게 해야 합니까 jupytext --to py {file}
?
또 다른 점은 Groovy 파일에서 명령을 실행하고 있기 때문에 조정해야 할 몇 가지 구문이 있는 것 같습니다. 내 개인 환경에서 다음 명령을 실행할 수 있으며 작동 중입니다.
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for i in `find . -name '*.ipynb' -type f`; do
jupytext --to py "$i"
done
IFS=$SAVEIFS
그러나 Groovy 파일에서 동일한 작업을 수행하면 다음과 같습니다.
sh '''
SAVEIFS=$IFS
IFS=$(echo -en "\\n\\b")
for i in `find . -name '*.ipynb' -type f`; do
jupytext --to py "$i"
done
IFS=$SAVEIFS
'''
다음 오류가 발생합니다.
raise InconsistentPath(
jupytext.paired_paths.InconsistentPath: './ipytho' is not a notebook.
답변1
"공백이 있는 파일 이름"에는 find
및 가 필요합니다 xargs
. 읽고 man find xargs
다음과 같은 일을 해보세요
find Fixed_Zip -type f -name '*.ipynb' -print0 | \
xargs -0 -r -n 1 jupytext --to py