这是运行parted之前的输出lsblk:
sda 8:0 0 90G 0 disk \n\xe2\x94\x94\xe2\x94\x80sda1 8:1 0 40G 0 part \n \xe2\x94\x9c\xe2\x94\x80ubuntu--vg-root 253:0 0 39G 0 lvm /\n \xe2\x94\x94\xe2\x94\x80ubuntu--vg-swap_1 253:1 0 976M 0 lvm [SWAP]\nRun Code Online (Sandbox Code Playgroud)\n\n向虚拟机磁盘添加更多空间后,我运行以下命令来反映操作系统中的新空间:
\n\nsudo parted /dev/sda\nresizepart 1 \nsudo resize2fs /dev/sda1\nquit\nRun Code Online (Sandbox Code Playgroud)\n\n然后 o 收到此消息:
\n\nInformation: You may need to update /etc/fstab.\nRun Code Online (Sandbox Code Playgroud)\n\n现在的输出lsblk是:
sda 8:0 0 90G 0 disk \n\xe2\x94\x94\xe2\x94\x80sda1 8:1 0 90G 0 part \n \xe2\x94\x9c\xe2\x94\x80ubuntu--vg-root 253:0 0 39G 0 lvm /\n \xe2\x94\x94\xe2\x94\x80ubuntu--vg-swap_1 253:1 …Run Code Online (Sandbox Code Playgroud) 我几乎有这个代码:
for PHOTO in /home/dvms/Desktop/projs/others/tests/gulp_test/src/images/*.{png,jpeg,jpg}
do
BASE=`basename $PHOTO`
convert "$PHOTO" -quality 50% "/home/dvms/Desktop/projs/others/tests/gulp_test/src/imagesCompressed/$BASE.jpg"
done
Run Code Online (Sandbox Code Playgroud)
但是输出文件以旧文件扩展名出现,最后附加了“.jpg”,例如: imageA.png.jpg 。
如何解决这个问题?
假设图像在目录中/Desktop/projs/proj1/img/,我希望输出文件转到/Desktop/projs/proj1/imgResized/.
我试过这个命令:
convert /Desktop/projs/proj1/img/*.png -resize 130x130\! /Desktop/projs/proj1/imgResized/converted.png
Run Code Online (Sandbox Code Playgroud)
这工作,但输出的图像重命名为converted-0.png,converted-1.png等等。
我测试了其他命令以查看图像是否保留其名称:
for PHOTO in /Desktop/projs/proj1/img/*.png; do BASE=`basename $PHOTO` convert /Desktop/projs/proj1/img/*.png -resize 130x130 /Desktop/projs/proj1/imgResized/$BASE.png; done;
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
我怎样才能做到这一点?如果可能的话,除了将文件夹 A 中的所有图像压缩到 B 之外,我该怎么做呢?