그래서 모든 .png 파일을 아이콘 디렉토리에 복사하고 이름을 바꾸려고 했습니다.
$ cp /opt/pt/art/{pka.png,pkt.png,pkz.png} ~/.local/icons/{application-x-pka.png,application-x-pkt.png,application-x-pkz.png}
하지만 다음과 같은 출력 오류가 발생합니다.
cp: target '/home/carl/.local/share/icons/application-x-pkz.png/..' is not a directory
어떻게 해야 합니까?
답변1
cp 명령은 여러 대상을 허용하지 않습니다.
$ for a in pka pkt pkz; do
cp /opt/pt/art/${a}.png ~/.local/icons/application-x-${a}.png
done
답변2
홈 디렉터리에서 png, 확장자가 포함된 모든 파일을 찾아 복사하려면 ~/backup
(폴더는 단지 예일 뿐임) 다음을 시도해 보세요.
cd
find . -regex '.*\(png\)' \! -path './backup/*' -exec echo cp -t backup {} +
그리고 이름을 바꾸세요
a=1
for i in *.png; do
new=$(printf "%04d.png" "$a") #04 pad to length of 4
mv -i -- "$i" "$new"
let a=a+1
done