变量

双引号相当于模板字符串
export是共享变量给子进程
\ 转义字符

字符串操作

https://blog.csdn.net/u010003835/article/details/80749220

文本对比

comm命令
Sed替换\n
https://blog.csdn.net/hello_hwc/article/details/40118129
第一种方式
[root@localhost ~]# sed ‘:a;N;$!ba;s/\n/ /g’ file.txt
wtmp begins Mon Feb 25 14:26:08 2014 192.168.0.1 162.12.0.123 this is the last line
第二种方式
[root@localhost ~]# tr “\n” “ “ < file.txt
wtmp begins Mon Feb 25 14:26:08 2014 192.168.0.1 162.12.0.123 this is the last line last linen

uniq

uniq会对比相邻行,进行去重,所以之前最好用sort排序,要不然各行相同他不会对比去重过滤掉。

Bash语法糖

(()) 算术表达式
$[] 等于 expr 只支持整数运算
if [ condition ] 等价于 if test condition
[[ expression ]] 模式匹配(pattern matching)

浮点数要用bc

最佳实践

$0脚本名

  1. path=$(cd `dirname $0`; pwd)

sed

按行号切分文件

  1. sed -n '100,200p' filename

AWK

输出指定列

  1. awk '{print $4}'

${}中 :- 的作用

${var:-string}
https://blog.csdn.net/ztf312/article/details/52317571