我想把视频剪成这样的大约 10 分钟的部分。
ffmpeg -i video.mp4 -ss 00:00:00 -t 00:10:00 -c copy 01.mp4
ffmpeg -i video.mp4 -ss 00:10:00 -t 00:10:00 -c copy 02.mp4
ffmpeg -i video.mp4 -ss 00:20:00 -t 00:10:00 -c copy 03.mp4
Run Code Online (Sandbox Code Playgroud)
有了for它就会变成这样。
for i in `seq 10`; do ffmpeg -i video.mp4 -ss 00:${i}0:00 -t 00:10:00 -c copy ${i].mp4; done;
Run Code Online (Sandbox Code Playgroud)
但它仅在持续时间小于一小时时有效。如何在bash shell中将数字转换为时间格式?
我正在尝试使用 CPU 使用率在 shell 脚本中进行一些计算。其中返回浮点数。但是当我减去这个数字时,我得到了错误。请参阅以下代码和错误。
代码
#!/bin/sh
CPU_IDLE=98.67
echo $CPU_IDLE
CPU_USAGE=$(( 100 - $CPU_IDLE ))
echo $CPU_USAGE
Run Code Online (Sandbox Code Playgroud)
错误
./poc.sh: line 14: 100 - 98.67 : syntax error: invalid arithmetic operator (error token is ".67 ")
Run Code Online (Sandbox Code Playgroud) 我在算术值上遇到以下错误
#!/bin/bash
n=0
line_count=9
line_count=$(line_count)/3
echo $line_count
exit 0
Run Code Online (Sandbox Code Playgroud)
预期结果是 3
[]$ ./test.sh
./test.sh: line 4: line_count: command not found
/3
[]$ more test.sh
Run Code Online (Sandbox Code Playgroud) 为什么将 0 作为参数传递会导致误报(打印“True”)?
#!/bin/zsh
k="$1"
if ((0 < k < 1))
then
echo "True"
fi
Run Code Online (Sandbox Code Playgroud)
注意这个脚本被称为stitch_applier.sh
终端
% ./stitch_applier.sh 0
True
Run Code Online (Sandbox Code Playgroud)
这是在 Linux 系统上运行的。
我有一个单列和 12 行。每行都有数值。我想使用 shell (bash) 脚本将每行值除以某个常数(比如 C)。这该怎么做 ?提前致谢..
我编写了一个脚本来确定服务器上的平均负载,如下所示:
#!/bin/bash
loadavg=`top -b -n1 | grep -i load | awk -F, '{print$4}'| awk -F: '{print $2}'`
if [ "${loadavg}" -le 1 ]
then
echo "OK - Load Average = ${loadavg} | Load_Average=${loadavg}"
exit 0;
elif [ "${loadavg}" -gt 1 ] && [ "${loadavg}" -le 2 ]
then
echo "WARNING - Load Average = ${loadavg} | Load_Average=${loadavg}"
exit 1;
elif [ "${loadavg}" -gt 2 ]
then
echo "CRITICAL - Load Average = ${loadavg} | Load_Average=${loadavg}"
exit 2;
else
echo "UNKNOWN …Run Code Online (Sandbox Code Playgroud) 我试图找出我从两个文件中获取的两个数字之间的差异。我认为我的代码会有意义:
我试图通过两种不同的方法使其工作,但没有奏效。我得到的输出是零 (0)。
#method 1
difference_btwn_eng_hrs_MX3_122=$(($(sed -n '1p' engine_hours_new_MX3_122.txt)-$(sed -n '1p' engine_hours_old_MX3_122.txt)))
echo "$difference_btwn_eng_hrs_MX3_122"
#method 2
new=$(sed -n '1p' engine_hours_new_MX3_122.txt)
old=$(sed -n '1p' engine_hours_old_MX3_122.txt)
echo "$new $old" | awk '{print $new - $old}'
Run Code Online (Sandbox Code Playgroud)
最终我将使用差异来设置电子邮件更新的间隔。
文件里面的值分别是511.786(新)和509.768(旧),我从终端得到的错误如下:
line 40: 511.786-509.765: syntax error: invalid arithmetic operator (error token is ".786-509.765")
Run Code Online (Sandbox Code Playgroud) 我需要在 bash 循环内执行算术运算,如下所述
CYCLE?=3
COUNT=1
download_when_ready: ## Will try the download operations many times till it succeeds or it reaches 10 tries
while ! composer update $(bundle) 2> /dev/null && [[ $(COUNT) -lt 10 ]]; \
do \
COUNT=$$(( $(COUNT)+1 )); \
SLEEP=$$(( ($(COUNT) / $(CYCLE)) + ($(COUNT) % $(CYCLE)) )); \
echo "count $(COUNT)"; \
echo "cycle $(CYCLE)"; \
echo "sleep $(SLEEP)"; \
sleep $(SLEEP); \
done
Run Code Online (Sandbox Code Playgroud)
这永远不会停止并给出以下内容:
count 0
cycle 4
sleep 0
count 0
cycle 4
sleep …Run Code Online (Sandbox Code Playgroud) 我有一个带有数字表的文件;第一行是标题行。我想对每列求和并使用 awk 打印出每列的总和和列名。
我该怎么做?
我想用相乘的数字替换模式之间的数字并打印所有行。该文件是 newick 格式的树文件,仅包含一行。我的目标是之后)和之前的所有数字:。我想将两个符号之间的所有数字乘以 100。
文件:
((((A_8:0.000846,(A_5:0.002449,(A_1:1e-06,((A_4:1e-06,((A_7:1e-06,A_6:0.001061)0.714000:1e-06,A_3:1e-06)0.314500:1e-06)0.358667:1e-06,A_2:1e-06)0.361000:1e-06)0.434800:1e-06)0.683500:0.001619)0.888571:0.001931,A_9:0.00069)0.688471:0.000691,...
Run Code Online (Sandbox Code Playgroud)
对我来说,最简单的方法似乎是通过先用新行替换所有“:”符号来拆分文件。所以我所有的目标数字现在都在单独的行中并出现在). 然后,我使用下面的 awk 脚本将目标数字乘以 100,但没有设法保留没有目标数字的行。
脚本:
((((A_8:0.000846,(A_5:0.002449,(A_1:1e-06,((A_4:1e-06,((A_7:1e-06,A_6:0.001061)0.714000:1e-06,A_3:1e-06)0.314500:1e-06)0.358667:1e-06,A_2:1e-06)0.361000:1e-06)0.434800:1e-06)0.683500:0.001619)0.888571:0.001931,A_9:0.00069)0.688471:0.000691,...
Run Code Online (Sandbox Code Playgroud)
)在这种情况下,如何将数字相乘并打印整个文件?或者还有其他更简单的方法可以直接查找:和之间的数字),将它们乘以 100 并打印整个文件?
更新:预期输出
((((A_8:0.000846,(A_5:0.002449,(A_1:1e-06,((A_4:1e-06,((A_7:1e-06,A_6:0.001061)71.4000:1e-06,A_3:1e-06)31.4500:1e-06)35.8667:1e-06,A_2:1e-06)36.1000:1e-06)43.4800:1e-06)68.3500:0.001619)88.8571:0.001931,A_9:0.00069)68.8471:0.000691,...)
Run Code Online (Sandbox Code Playgroud) arithmetic ×10
bash ×6
shell-script ×6
awk ×2
ffmpeg ×1
ksh ×1
linux ×1
make ×1
sed ×1
shell ×1
statistics ×1
time ×1
zsh ×1