Skip to content

command_awk_sed

1. 查找文件中的字符串并替换为变量
例子: 将 demo.txt 中的 $HELLO 替换为变量 $HELLO
sed -i "s|\$HELLO|${HELLO}|g" demo.service 

2. 字符串分割: 这些都是 `awk` 来完成的

例子: 将 $SHELL 变量根据 '/' 分割,取最后一个
解决: 利用 $NF,该值表示拥有字段的总数
SHELL_TYPE=`echo $SHELL | awk -F '/' '{print $NF}'`

例子: 将 $SHELL 变量根据 '/' 分割,得到数组
解决: 死了这条心吧,可以是可以,用 python 不香吗
非要用的话,使用 `$IFS` 这个变量来实现
```bash
str="192.168.31.65"
OLD_IFS="$IFS" #保存旧的分隔符
IFS="."
array=($str)
IFS="$OLD_IFS" # 将IFS恢复成原来的
for i in "${!array[@]}"; do
    echo "$i=>${array[i]}"
done
```

3. 将 $SHELL 变量根据 '/' 分割,取最后一个
解决: 利用 $NF,该值表示拥有字段的总数
`echo $SHELL | awk -F '/' '{print $NF}'`

4.SHELL 判断字符串是否有字串, 通过 grep,判断 $?,0 表示成功
```sh
pip show supervisor | grep Version
echo $?
```

Comments