Shell常用命令记录
1 字符串截取
若以%为截取位置,可以在%前加转义字符\,即\%
2 获取变量
-
字符串变量=`命令输出`,如GPU=`echo “$NVIDIA_HTOP” | grep mainboard`
-
数值变量=$(命令输出),如LINE_NUM=$(echo “$GPU” | awk ‘END{print NR}’)
-
awk ‘END{print NR}’ ,表示获取行数
-
awk -v i=$i ‘NR==i{print}’ ,表示获取第i行,i为提前定义的变量
-
awk ‘{print $5}’ ,表示获取第5个字符串,空格为分隔
-
$(echo $a $b | awk ‘{printf “%0.1f\n”, $1+$2}’) ,表示a+b,输出浮点保留一位小数
3 文件输出
-
sed -i “/$TITLE/a$value” $output ,表示在$output搜索$TITLE,并在其下行插入$value
-
sed -i -e “/$value/s/$/ $add_value/” $output,表示在$output搜索$value,并在该行末尾添加空格和$add_value
-
sed -i '$a ’ “$TAIL” ’ ’ $output, 表示在$output末尾添加一行"$TAIL",注意不能在空文件使用,空文件可以直接cat
-
sed -i ‘2c ‘“$a”’’ $output,表示将$output的第二行替换为"$a"