Bash
如何在忽略文件名中的空格的同時遍歷子目錄並執行操作
我在 Linux env 中有以下文件夾結構:
|-- 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.
“帶空格的文件名”呼喚
find
andxargs
。閱讀man find xargs
並做類似的事情find Fixed_Zip -type f -name '*.ipynb' -print0 | \ xargs -0 -r -n 1 jupytext --to py