收集的48个Shell脚本小技巧

<强> 0。壳牌调试


代码如下:

sh - x somefile。sh


在somefile。上海文件里加上设置+ x集合x
1。用,,| |简化如果其他

代码如下:

gzip - t a.tar。广州
如果[[0==$ ?]];然后
,,,回声“好邮政”

其他,,,回声“坏zip”
fi


可以简化为:


代码如下:

gzip - t a.tar。广州,,回声“好邮政”| |回声“坏zip”


<强> 2。判断文件非空


代码如下:

如果[[s $文件]];然后
,,,回应“不空”
fi


<强> 3。获取文件大小


代码如下:

stat - c % s文件
统计——美元printf=' % s \ n '文件
wc - c文件美元


<强> 4。字符串替换


代码如下:

${字符串//模式/替换}
a=' a, b, c '
echo $ {//,//}
5。包含子字符串?
字符串=拔业淖址?br/>如果[[$ string==*我*]];然后
,,,回声“它在那里!”
fi


<强> 6。rsync备份


代码如下:

rsync - r - t - v/source_folder destination_folder
rsync - r - t - v/source_folder [user@host:/destination_folder


<强> 7。批量重命名文件

为所有三种文件加上。贝克后缀:

代码如下:

重命名”。txt ' ' . txt。贝克的*。txt


去掉所有的贝克后缀:

代码如下:

重命名”*。贝克”*。贝克


把所有的空格改成下划线:

代码如下:

找到路径类型f -重命名' s//_/g ' {} \;


把文件名都改成大写:

代码如下:

找到路径类型f -重命名的y/a - z/a - z/{} \;


<强> 8。/而循环


代码如下:

(
(i=0;我& lt;10;我+ +));echo $ i;做
美元行(猫a.txt);echo $线;做
的f * . txt;echo $ f;做
,而读一行;echo $线;& lt;一个。txt
猫。txt |而读行;echo $线;做


<强> 9。删除空行

代码如下:


猫。txt | sed - e '/^ $/d '
(回声“abc”;回声”;回声“ddd”;) | awk '{如果(0 !=NF)打印0美元;}“


<强> 10。比较文件的修改时间

代码如下:


file1。txt - nt file2。“三种”,,回声真正| |回声假
file1。“txt ot file2”。“三种”,,回声真正| |回声假


<强> 11。实现字典结构

代码如下:

hput () {
,,,,,,,eval“hkey_ 1美元=" $ 2 "
}
hget () {
,,,,,,,eval回声“$ {”“hkey_ 1美元”“}”
,,,,,,,}
hput k1 aaa
hget美元k1 aaa


<强> 12。去掉第二列


代码如下:


美元回声“b e c d f”| - d“f1, 3 -
$ c d e f


13。把stderr输出保存到变量

代码如下:


=$(美元(回声“出”;echo '错误' 1祝辞,2)2祝辞,1在/dev/null)
$ echo $
错误


<强> 14。删除前3行


代码如下:


猫一美元。txt | sed 1、3 d


15。读取多个域到变量

代码如下:


阅读a b c & lt; & lt; & lt;“xxx yyy zzz”


16。遍历数组

代码如下:

阵列=(一百二十三)
我在${阵列[@]}
,,,,,,,做
echo $我


<强> 17。查看目录大小


代码如下:

美元du sh ~/应用


<强> 18岁。查看CPU信息


代码如下:

猫美元/proc/cpuinfo


<强> 19。日期


代码如下:

美元日期+ Y % - % - % d
2012-12-24
美元日期+ Y % - % - % d最新的“一天”
2012-12-23
日期+ % Y m - % d美元最新的12月25日的
2011-12-25
日期+ % Y m - % d美元最新的12月25日- 10天的
2011-12-15


<强> 20。获取路径名和文件名


代码如下:


目录名“/home/lalor/美元。txt”
/home/lalor
:“美元/home/lalor/xt”
。txt


<强> 21。并集和交集

通讯可以用来求并集,交集、差集,假设现在有两个文件a和b,它们的内容如下:

代码如下:


猫美元1
3
5


猫美元b
3
4
5
6 7

通讯美元b
1
,,,,,,,3

收集的48个Shell脚本小技巧