google的编程风格
google的shell风格
1 2 3 4
| #!/bin/sh
# 如果调用失败就退出,set +e相反 set -e
|
常用命令使用
常用匹配符
| 匹配符 |
作用 |
| . |
匹配除换行之外的任意字符 |
| \w |
匹配字母,数字或下划线 |
| \s |
匹配任意的空白 |
| \d |
匹配数字 |
| \D |
匹配非数字字符 |
| \b |
匹配单词的开始或结束 |
| ^ |
匹配字符串开始 |
| & |
匹配字符串结束 |
命令使用
grep
cut
| 选项 |
作用 |
| 指定单位 |
-b以字节为单位,-c以字符为单位,-f以字段为单位 |
| N-,-M,N-M |
取值范围 |
| -d |
指定定界符 |
xargs
命令行参数转换
| 选项 |
作用 |
| -d |
指定分割符 |
| -n [Num] |
指定一行的字段数 |
wc
| 选项 |
作用 |
| -l |
统计行数 |
| -w |
统计单词数 |
| -c |
统计字符数 |
#,##,#,##,% ,%% 的含义及用法
作用可以在${}分别替换得到不同的值,很有意思的一个地方,#在$的左边,%在$的右边
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| file=/dir1/dir2/dir3/myfile.txt
# 删掉第一个/及其左边的字符串 ${file#*/} # 删掉最后一个/及其左边的字符串 ${file##*/} # 删掉第一个.及其左边的字符串 ${file#*.} # 删掉最后一个.及其左边的字符串 ${file##*.} # 删掉最后一个/及其右边的字符串 ${file%/*} # 删除第一个/及其右边的字符串,‘.’类似 ${file%%/*} # 提取最左边的5个字节 ${file:0:5} # 提取第5个字节的连续5个字节 ${file:5:5} # 对变量的值做替换,替换第一个 ${file/dir/path} # 对变量的值做替换,替换所有 ${file//dir/path}
|
windows的bat脚本使用
setlocal和endlocal的作用
让中间程序对于系统变量的改变只在程序内起作用
pushd和popd的作用
pushd保存当前目录供popd使用,然后改到指定目录
%~dp0%含义
当前批处理文件所在的路径
:: 注释
for命令
1
| for /f "tokens=2,3,4 delims=/ " %%a in ('date /t') do @echo %%c-%%a-%%b
|
findstr在文件中查找字符串
findstr使用