为FSWEBCAM

问题描述 投票:0回答:2
fswebcam

提供输出为IMG1,IMG2(如果有IMG1),IMG3,IMG4 ...等 我尝试了:

sudo fswebcam img
它将文件存储为

Img

,但替换了现有的文件,而不是存储为

Img2
.
。 如我指定的那样,是否有任何特定类型的UNIX命令可以存储文件名?

或您只能使用其内置的strftime功能来生成每个文件,并在文件名中的当前时间生成每个文件 --save pic%Y-%m-%d_%H:%M:%S.jpg

我还想知道该特定命令是否存在。同时,我还需要做到这一点,并且我使用的解决方法如下(适合您的需求):
shell unix ubuntu
2个回答
17
投票
f() { PREFIX="./img" FILES=$(ls $PREFIX* 2> /dev/null) LAST=$(sort -n <<<"${FILES//$PREFIX}" | tail -n1) echo $PREFIX$((LAST+1)) }

FILES
包含由

1
投票
的文件名。

LAST

将一无所有,或者之后的最大数字。 最后,函数
$PREFIX
是最后一个文件名增加了1.

,一旦您定义了
echo
(或更重要的名称),您可以以这样的方式调用命令:

f

示例

sudo fswebcam $(f)

$ ls img1 img10 img11 img2 img3 img4 img5 img6 img7 img8 img9 $ echo $(f) # here I'm using "echo" instead of "sudo fswebcam" ./img12

步骤

f
    

$ FILES=$(ls $PREFIX* 2> /dev/null) $ cat <<<"$FILES" ./img1 ./img10 ./img11 ./img2 ./img3 ./img4 ./img5 ./img6 ./img7 ./img8 ./img9 $ LAST=$(sort -n <<<"${FILES//$PREFIX}" | tail -n1) $ echo $LAST 11 $ echo $PREFIX$((LAST+1)) ./img12



fswebcam-l 10 -r 640x480 -no-banner -save pic-%y-%m-%d_%h-%m-%m-%s.jpg

这将每10秒拍照并将其保存到新的文件名中。
    

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.