shell脚本举例
1.有时在写一些以循环方式运行的监控脚本,设置时间间隔是必不可少的,下面是一个Shell进度条的脚本演示在脚本中生成延时。
#!/bin/bash
b=''
for ((i=0;$i<=100;i++))
do
printf "Progress:[%-100s]%d%%\r" $b $i
sleep 0.1
b=#$b
done
echo
2. 将当前目录下的txt文件复制到/home/xiong/doc目录下
ls *.txt| xargs -n1 -I {} cp {} /home/xiong/doc
3. 假如你有一个文件包含了很多你希望下载的URL,你能够使用xargs下载所有链接:
cat 1.txt | xargs wget -c
4. tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。
参数:
字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;
字符集2:指定要转换成的目标字符集。
#大写转小写
echo "HELLO WORLD" | tr 'A-Z' 'a-z' hello world
#删除指定字符
echo "hello 123 world 456" | tr -d '0-9'
5. 字符集补集,从输入文本中将不在补集中的所有字符删除:
echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'
1 2 3 4
6.用tr压缩字符,可以压缩输入中重复的字符:
echo "thisssssssssss is a text linnnnnnnnnnnnnnnnnnne."|tr -s ' sn'
this is a text line.
7. 巧妙使用tr做数字相加操作:
echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]
45