많은 하위 폴더에 test1.jpg라는 사진이 있습니다. 혼동이 없도록 본질적으로 파일의 경로를 이름에 추가하고 싶습니다.
샘플 경로 :
/tmp/xxx2016/folder123/folder2/folderxxx/test1.jpg
완료되면 파일 이름을 바꾸고 싶습니다.
123_02_01_01.jpg
누군가가 find 및 mv 명령을 사용하여 나를 도울 수 있습니까? 나는 bash를 처음 접했습니다.
#!/bin/bash
find . -name '*.jpg' | grep test1
newname="$(echo ${FILE} | grep -o "[0-9]*" | tr "\n" "_" | sed s/2016_//;s/_$/.jpg\n/;')"
mv "${FILE}" "${newname}" ;
done
exit 0
당신을 시작할 무언가;
$ echo "/tmp/xxx2016/folder123/folder2/folderxxx/test1.jpg" | grep -o "[0-9]*" | tr "\n" "_" | sed 's/_$/.jpg\n/;'
2016_123_2_1.jpg
편집, 2016 건너 뛰기;
$ echo "/tmp/xxx2016/folder123/folder2/folderxxx/test1.jpg" | grep -o "[0-9]*" | tail -n +2 | tr "\n" "_" | sed 's/_$/.jpg\n/;'
123_2_1.jpg
또는
$ echo "/tmp/xxx2016/folder123/folder2/folderxxx/test1.jpg" | grep -o "[0-9]*" | tr "\n" "_" | sed 's/2016_//;s/_$/.jpg\n/;'
123_2_1.jpg
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다