无论输入大小或比率如何,我都想将 JPG 图像的大小减小到相同的总像素大小(例如 6MPx)。
当然mogrify
或者convert
可以调整大小:
这个 ...
mogrify -resize 3000x3000 file.jpg
...对于比例为 3:2 的图片,将为我提供 6MPx。
但这不适用于不寻常的比例,例如全景图。
Q: 如何使用mogrify
/convert
得到指定的目标像素大小?
无论输入大小或比率如何,我都想将 JPG 图像的大小减小到相同的总像素大小(例如 6MPx)。
当然mogrify
或者convert
可以调整大小:
这个 ...
mogrify -resize 3000x3000 file.jpg
...对于比例为 3:2 的图片,将为我提供 6MPx。
但这不适用于不寻常的比例,例如全景图。
Q: 如何使用mogrify
/convert
得到指定的目标像素大小?
TL;博士:
问:如何保持计数器find -exec
循环?
我的用例:
我需要移动很多分散在这个地方的目录,所以我这样做了
find . -type d -name "prefix_*" \
-exec sh -c '
new_path="/new/path/$(basedir "$1")";
[ -d "$new_path" ] || mv "$1" "$new_path";
' find_sh {} \;
(真正的命令更复杂,因为我阅读了 . 的构成的一些元数据/new/path
。无论如何,我不想争论命令本身,这不是问题的一部分,只是用例)。
它工作得很好,但需要很长时间,我想跟踪进度。
所以我添加了一个写入文件的计数器:
i=$(cat ~/find_increment || echo 0);
echo $((i+1)) | tee ~/find_increment;
这也可以正常工作,但是拥有大约 100.000 次磁盘读写操作感觉真的很糟糕。
我考虑过写入ramdisk
而不是磁盘,但在我需要执行该任务的环境中我没有该选项。
有没有更好的方法在运行之间保持计数器-exec
?
我正在尝试获取文件的最后一行,然后将其删除:
阅读该行:
sed -n '$p' file
# or
tail -n 1 file
删除行:
sed -i '$d' file
这行得通,但是有没有办法只用一个命令来做到这一点?
跑步时
top -n1 | head
终端的光标消失。跑步top -n1
会把它带回来。
在 Ubuntu 16.04 和 CentOS 7.5 中gnome-terminal
测试。tilix
运行top -n1 | tail
没有这个问题,所以我认为,输出末尾的一些东西让光标重新出现,这在打印唯一top
时没有执行。head
是什么原因造成的,我怎样才能更优雅地取回光标?