![seq/nl/...에서 시퀀스별로 이름을 바꾸는 방법은 무엇입니까?](https://linux55.com/image/99753/seq%2Fnl%2F...%EC%97%90%EC%84%9C%20%EC%8B%9C%ED%80%80%EC%8A%A4%EB%B3%84%EB%A1%9C%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EB%B0%94%EA%BE%B8%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
임의의 기본 이름을 가진 파일 목록이 있고 그 중 일부는 아래 입력 예에 표시된 순서를 가지고 있다고 가정해 보겠습니다. 나는 스레드에서 제안된 루프 방법 중 일부를 통하기보다는 nl
/ /...를 통해 seq
이 작업을 수행 하고 싶습니다.폴더의 파일 이름을 연속된 번호로 변경.
기본 이름에 시리즈가 없으면 알파벳순으로 정렬합니다.
1.jpg, 3.jpg, 4.jpg, 7.jpg, blooremaa.jpg, bloraem.jpg
예상 출력
1.jpg, 2.jpg, 3.jpg, 4.jpg, blooraem.jpg, blooremaa.jpg
의사코드
- 파일 목록을 얻으십시오.
- 시리즈를 늘려 이름을 바꿉니다.
의사 코드는 마지막 부분에서 파일 목록의 파일 이름을 변경하려고 시도합니다.
# http://unix.stackexchange.com/a/332413/16920
ls *.jpg | ... TODO ... \
| sed 's/ *\([0-9]\+\)\.\(.*\)/\2 \1\.\2/' \
| xargs -n 2 mv
운영 체제: 데비안 8.5