vidir(moreutils)을 사용하여 파일 이름 바꾸기

vidir(moreutils)을 사용하여 파일 이름 바꾸기

moreutils 패키지의 vidir을 사용하려고 하는데 다음과 같은 문제가 있습니다. 파일을 로드할 때 다음과 같이 vidir로 이름을 바꾸고 싶습니다.

$ vidir

또는 다음과 같습니다:

$ find -type f | vidir --verbose -

vidir은 다음과 같이 숫자, 탭 및 파일의 전체 경로를 표시합니다.

1   ./file1
2   ./file2
3   ./file3

또는 현재 폴더가 아닌 경우 다음과 같습니다.

1   ./folder/subfolder1/file1
2   ./folder/subfolder1/file2
3   ./folder/subfolder1/file3

이제는 번호를 바꾸거나 폴더 이름을 편집하여 파일 이름을 바꿀 수 있는 등 몇 가지 장점이 있지만 동일한 폴더에 있는 파일의 이름을 바꾸고 일부를 삭제하고 싶을 뿐입니다. 내 문제는 정규식을 사용하여 파일 이름을 바꾸면 숫자, 슬래시, 점, 탭 등 모든 항목이 영향을 받을 수 있다는 것입니다. 처음에 삭제해서 수정하고 다시 만들어보려고 했는데, 파일을 저장하고 에디터를 닫으면 vidir이 불평을 합니다.

그렇다면 이 문제를 피하는 방법은 무엇입니까? 내가 뭐 놓친 거 없니?

편집: 수정을 시작하기 전에 vidir 접두사를 제거하고 완료되면 다시 추가하려고 시도했는데 작동하는 것 같습니다. Vim에서 사용하는 기능은 다음과 같습니다.

" Remove vidir prefix
function! VidirRemovePrefix()
    :%s/\d*\t.\//
endfunction    

" Delete line
function! VidirDeleteLine()
    :s/^\d*\t.*//
endfunction  

" Add vidir prefix back
function! VidirAddPrefix()
    :%s /^/\t.\//
    execute "normal! ggVG"   
    :let i=1 | '<,'>g/^/ s//\=i . ""/ | let i+=1
endfunction

어떤 이유로 마지막 기능이 항상 작동하지는 않습니다. 이런 경우에는 명령줄에서 수동으로 마지막 줄(숫자 삽입)을 수행합니다.

관련 정보