Shell脚本常用命令和语法

awk生成数组1

[root@localhost ~]# list=($(echo "1,2,3"|awk '{split($0,arr,",");for(i in arr)print arr[i]}'))
[root@localhost ~]# echo ${list[*]}
1 2 3

awk生成数组2

[root@localhost ~]# eval $(echo "1,2,3"|awk '{split($0,arr,",");for(i in arr)print "arr["i"]="arr[i]}')
[root@localhost ~]# echo ${arr[*]}
1 2 3

普通for循环

for ((i=1; i<=3; i++))
do
echo "${i} is ok"
done

#awk使用定义的变量: store_sort

awk 'NR=="'$store_sort'" {print $1}'

#输出最后一行

awk END'{print $1}'

#awk指定行

awk  'NR==3{print $4}'

cat生成文件

cat >> /ta/store.sh<<EOF
#!/bin/bash

echo yes

EOF

#定义集合

containerList=(web1 web2 web3 web4 web5 web6)

#加强for
for item in ${containerList[*]}
do
    echo ${item}
done
 

#switch语法

case ${mode}  in
1)
   echo 1
   ;;
2)
    echo 2
    ;;
*)
    echo "error的选项"
    ;;
esac

通过索引和偏移量返回字符串

echo ""|awk '{print substr($1,1,2)}'

删除文件的特定行

sed -i '1d' sed-demo.txt

查看文件指定行

sed -n   '50 p' store.conf

#对数字进行计算

1. $((1+5)) 

2. $[1+5]

#用.对字符串分隔,拿到数组array

echo ""|awk '{split($1,array,".");print array[3];}'

#插入指定行

sed -i "5 i hello" /ta/store.conf

#定义数组

array=('A'  'B'  'C'  'D')

#获取数组的元素

${array_name[index]}

#对数值进行判断

[ `echo "1.1 >= 1"|bc` == 1 ] && echo true|| echo false

#判断文件是否存在

if [ -f "/ta/store/app.conf" ];
then
    echo "true"   
fi
    echo "false"

判断简洁写法

[ -f "/ta/store/app.conf" ] && echo "true" || echo "false"

#字符串替换

echo '"| awk  '{sub("1", "" , $1);print $1;}'

#对字符串的进行替换转义字符

echo 2020.10.1|awk '{sub("\\."," ",$1);print $1;}'

#对字符串进行分隔

f:指定分隔符

echo 1,2,3,4,5  | awk  -F , '{print $2}'

#文件文本替换

sed -i "4s/22/$sshport/g" test.conf

#删除替换一行
sed -i "7s/.*/handsome:$datadir/g" app.conf

效果 handsome:ta

#删除文件第7行在添加一行加转义字符

sed -i "7s#.*#\"server\": \"$public_ip:$public_port\";"#g app.conf

效果    "servrt":"127.0.0.1:80";


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值