awk 命令的用法
awk 是常用的 Linux 文本操作命令和脚本语言。用来按行提取和处理文本内容,也可以执行简单的逻辑处理。
比如我们有一个 txt 文件:
ab.c 123 e.rt 456
oh.g 324 b.na 756
si.d 156 o.ui 452
awk 是常用的 Linux 文本操作命令和脚本语言。用来按行提取和处理文本内容,也可以执行简单的逻辑处理。
比如我们有一个 txt 文件:
ab.c 123 e.rt 456
oh.g 324 b.na 756
si.d 156 o.ui 452
执行 shell 脚本时经常会有传入参数,如:
./test.sh abcdef abc.bbb
以上的命令使用了两个传入参数,abcdef
,abc.bbb
。
在脚本里使用时,$1
就表示第一个参数,$2
就表示第二个参数:
var1 = $1
var2 = $2
在脚本中有一种用法,如:${1%def}jjj
。
他的意思就是将 $1
最后的字符 def
替换为 jjj
:
newstr1 = ${1%def}jjj
newstr1
的值就是 abcjjj
。
newstr2 = ${2%.bbb}.ccc
newstr2
的值就是 abc.ccc
。
语法:
subprocess.check_output(args, *, stdin=None, stderr=None, shell=False, universal_newlines=False)
执行cmd命令并返回结果到字符串。
用法:
import subprocess
output = check_output(["cat", "/etc/hostname"]).strip()
print(output)
以上脚本会执行 cat /etc/hostname
命令然后将结果赋值给 output
变量。strip()
可以将 string 的前后空格去掉。
FFmpeg 是视频处理最常用的开源软件。
它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes),也是许多音频和视频格式的标准编码/解码实现。
昨天重装了 vps 系统,在设置 crontab 定时任务时发现并没有在指定的时间执行脚本。于是就进行排查问题。
测试在 /etc/crontab
添加一条测试任务:
30 10 * * * root python -V > /root/test.log
在 10:30 并没有看到 test.log 文件生成。