shell 脚本记录

阅读: 评论:0

shell 脚本记录

shell 脚本记录


1 shell 调试
sh -x somefile.sh

在somefile.sh 文件里加上set+x set-x

2 用 && || 简化if else
gzip -t 
if [[ 0 == $? ]]; thenecho "good zip"
elseecho "bad zip"
fi

可以简化为:

gzip  -t  && echo "good zip" || echo "bad zip"
3 判断文件非空
if [[ -s $file ]]; thenecho "not empty"
fi
4 获取文件大小
stat -c %s $file
stat --printf='%sn' $file
wc -c $file
5 字符串替换
${string//pattern/replacement}
a='a,b,c'
echo ${a//,/ /}
6 Contains 子字符串?
string="My string"
if [[ $string == *My* ]]; thenecho "It's there!"
fi
7 rsync备份
rsync -r -t -v /source_folder /destination_folder
rsync -r -t -v /source_folder [user@host:/destination_folder
8 批量重命名文件

为所有txt文件加上.bak 后缀:

rename '.txt' '.txt.bak' *.txt

去掉所有的bak后缀:

rename '*.bak' '' *.bak

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

find path -type f -exec rename 's/ /_/g' {} ;

把文件名都改成大写:

find path -type f -exec rename 'y/a-z/A-Z/' {} ;
9 for/while 循环
for ((i=0; i < 10; i++)); do echo $i; done
for line in $(); do echo $line; done
for f in *.txt; do echo $f; done
while read line ; do echo $line; done < a.txt
 | while read line; do echo $line; done
10 删除空行
 | sed -e '/^$/d'
(echo "abc"; echo ""; echo "ddd";) | awk '{if (0 != NF) print $0;}'
11 比较文件的修改时间
[[  - ]]

本文发布于:2024-02-02 12:23:43,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170684782343775.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:脚本   shell
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23