fish로 여러 파일 이름 바꾸기
jade → pug에 100 파일 정도의 이름을 바꿀 수있는 기회가있었습니다.
현재의 디렉토리로부터 서브 디렉토리까지 리네임하고 있는 것은 발견되지 않았기 때문에 투고합니다.
결론이 코드입니다.
rename.shfor jadefilepath in **.jade
mv "$jadefilepath" (echo "$jadefilepath" | sed '$s/\.jade$/.pug/')
end
추가입니다.
sed 사용하면 이해하기 어렵기 때문에 basename으로 문자열을 추출하는 방법도 써 둡니다.
이쪽이 정규 표현을 이스케이프하지 않기 때문에 아직 보기 쉬울지도 (.jade→.pug로 변환)
rename.shfor filename in *.jade
mv -v -- "$filename" (basename $filename .jade).pug
end
참고 사이트
TL;DR
(뭐야 TL; DR은)
for jadefilepath in **.jade
mv "$jadefilepath" (echo "$jadefilepath" | sed '$s/\.jade$/.pug/')
end
for filename in *.jade
mv -v -- "$filename" (basename $filename .jade).pug
end
(뭐야 TL; DR은)
대상 독자
출력
이러한 디렉토리가 있다고 가정합니다
※tree 커맨드로 가시화하고 있습니다
$ tree
.
├── current.jade
├── dir1
│ └── hoge1.jade
└── dir2
├── dir3
│ └── hoge3.jade
├── dir4
│ └── dir6
│ └── hoge6.jade
├── dir5
│ └── hoge5.jade
└── hoge2.jade
6 directories, 6 files
아까의 명령을 두드려,
$ tree
.
├── current.pug
├── dir1
│ └── hoge1.pug
└── dir2
├── dir3
│ └── hoge3.pug
├── dir4
│ └── dir6
│ └── hoge6.pug
├── dir5
│ └── hoge5.pug
└── hoge2.pug
6 directories, 6 files
하위 디렉토리를 포함하여 확장자를 .jade → .pug로 변환 할 수있었습니다.
입력
자신이 아는 범위에서 코드를 설명합니다
rename.shfor jadefilepath in **.jade
mv "$jadefilepath" (echo "$jadefilepath" | sed '$s/\.jade$/.pug/')
end
$ tree
.
├── current.jade
├── dir1
│ └── hoge1.jade
└── dir2
├── dir3
│ └── hoge3.jade
├── dir4
│ └── dir6
│ └── hoge6.jade
├── dir5
│ └── hoge5.jade
└── hoge2.jade
6 directories, 6 files
$ tree
.
├── current.pug
├── dir1
│ └── hoge1.pug
└── dir2
├── dir3
│ └── hoge3.pug
├── dir4
│ └── dir6
│ └── hoge6.pug
├── dir5
│ └── hoge5.pug
└── hoge2.pug
6 directories, 6 files
자신이 아는 범위에서 코드를 설명합니다
rename.sh
for jadefilepath in **.jade
mv "$jadefilepath" (echo "$jadefilepath" | sed '$s/\.jade$/.pug/')
end
첫 번째 줄
**.pug
에서 현재 디렉토리에서 아래의 모든 하위 디렉토리를 와일드 카드로 끌어 당기는 것이 좋습니까 현재 디렉토리 만 타겟팅하고 싶습니다.
1행째의
**.jade
→ *.jade
로 해 별표를 하나 줄이면 OK였습니다 fish 와일드 카드
현재 디렉토리만의 검색은 별표 1개
jadesearch.sh$ ls *.jade
current.jade
서브디렉토리 포함 검색은 별표 2개
jadesearch.sh
$ ls **.jade
current.jade dir1/hoge1.jade dir2/dir3/hoge3.jade dir2/dir4/dir6/hoge6.jade dir2/dir5/hoge5.jade dir2/hoge2.jade
참고
$ ls *.jade
current.jade
$ ls **.jade
current.jade dir1/hoge1.jade dir2/dir3/hoge3.jade dir2/dir4/dir6/hoge6.jade dir2/dir5/hoge5.jade dir2/hoge2.jade
후기
fish 보급 계획을 쓰고 있는 사람처럼 열중할 수 있는 언어 발견하고 싶다
Reference
이 문제에 관하여(fish로 여러 파일 이름 바꾸기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/k_bobchin/items/ca8e67cbc34d083e38b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(fish로 여러 파일 이름 바꾸기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/k_bobchin/items/ca8e67cbc34d083e38b3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)