正则匹配
# check whether imageoptim has been installed.
imageoptimVersion=`imageoptim -V`
imageoptimVersion="not Foundation"
echo $imageoptimVersion
# 判断是否以数字开头
if [[ $imageoptimVersion =~ ^[0-9]+.* ]]
then
echo "已安装imageoptim"
else
echo "未安装imageoptim"
fi
有2个地方需要注意:
- 判断字符串是否与正则表达式匹配,需要使用 =~,而不是 ==
- 被匹配的正则表达式不能用’'或者“”括起来。应该为:
=~ ^[0-9]+.*
,而不是=~ '^[0-9]+.*'
sed命令在mac使用注意事项
- 替换(-i)命令,需要加上空格
sed -i "" 's/pattern/replace/g' file #注意中间的""不能省略,否则报错:sed: 1: "file": unterminated substitute in regular expression.如果有多个参数,空格需要直接跟在-i参数后。
- 使用正则匹配需要加上-E选项
sed -E -i "" 's/[abc]+/f/g' file #添加-E,表示使用sed命令扩展(extension)
判断某个库是否安装
if which imageoptim > /dev/null; then
echo "Imageoptim installed"
else
echo "Imageoptim not installed"
fi
查看文件信息
用file命令即可
file your_file_path # 能查看文件的大多数信息。如果是二进制文件,能显示编译的cpu架构、动态链接or静态链接