因为需要用ffmpeg处理一些图片,并且ffmpeg指令中的一些参数需要变化,所以就想着写一个shell脚本进行批处理。虽然代码并没有几行,但是却耗费楼主数小时才搞定,因此记录下该脚本以帮助有相同需求且没有经验的小伙伴。
先说明下楼主的数据格式:文本中每行有三个数据,它们分别用‘,’号分割
例如:
3,4,5
6,7,9
现在着重讲几个代码中用到的参数。
1、for是用来按行读取文本中的内容
2、line代表每行的内容
3、awk是将每行内容进行分段(分割),-F‘,’代表数据按照,进行分段
4、m=$(echo $line | awk -F',' '{print $1}')是将分段后的第一段的数据赋值给m
5、| 这个小竖线代表将竖线前面的数据作为竖线后面指令的输入
6、至此文本中的数据赋值完毕了,当我们需要调用这些被赋值的变量时,只需要在指令里面通过使用 `$变量`即可,例如需要调用变量m,则用$m
#!/bin/bash
for line in $(<1/1_43.txt)
do
m=$(echo $line | awk -F',' '{print $1}')
lon=$(echo $line | awk -F',' '{print $2}')
lat=$(echo $line | awk -F',' '{print $3}')
#echo $line
#echo $m,$lon
#echo $m,$lat
done