0

문제 : 나는 대체해야 할 텍스트가있는 수십 개의 수첩을 가지고있다.jupyter 전자 필기장에서 텍스트를 일괄 편집하는 방법은 무엇입니까?

각 노트북 디렉토리 foo에서 외부 파일에 대한 참조를 포함합니다.

./ 
    |- foo 
    | |- image.jpg 
    | |- ... 
    |- notebooks 
     |- file1.ipynb 
     |- file2.ipynb 
     |- file3.ipynb 
     |- ... 

그러나, foo 디렉토리는 곧함으로써 노트북의 관련 링크를 orphaning, bar로 이름이 변경됩니다. 따라서 각 노트북의 모든 링크의 이름을 구식에서 foo으로 바꿀 필요가 있습니다. bar 등의 이름을 사용하십시오. foo/image.jpg ~ bar/image.jpg.

질문 : 하나씩 하나씩 열기에는 많은 시간이 걸립니다. 여러 개의 jupyter 노트북을위한 일괄 편집 텍스트를위한 효율적이고 안전한 솔루션이 있습니까? 노트북은 기본적으로 JSON 파일이기 때문에

접근

, 나는 간단한 검색을 고려하고 VSCode에서 대체하고있다. 테스트 노트북에서이 작업을 시도했지만 제대로 작동하는 것으로 보이지만이 방법으로 파일이 손상 될지 확실하지 않습니다. 나는 어떤 안전한 제안을 주셔서 감사합니다.

답변

0

* nix에 있습니까? 그러면 sed가 작동합니다.

cd ./path/to/notebooks 
sed -i 's/foo/bar/g' *.ipynb 

또는 사용할 수있는 정력 argsadd 내가 Windows를 사용하고 유닉스 도구에 익숙하지 않은 생각 해요

vim 
:cd path/to/notebooks 
:arg *.ipynb 
:argdo %s/foo/bar/ge | update 
+0

, argsdo

예.과 함께. 이것은 내 노트를 손상시키지 않고 안전하게 편집 할 수 있습니까? – pylang

+0

입니다. windows 10은 이제 Linux 하위 시스템을 지원합니다. Btw, 버전 제어하에 파일을 보관해야합니다. – kra3

+0

감사합니다. 나는 그것에 대해 연구 중이다. ;) – pylang

관련 문제