sh代码:[awk -F '=' "/\[$section\]/{a=1}(a==1 && \"$key\"==\$1){\$2=\"$value\"}1" $file > tmp.ini] cat tmp.ini |grep devtype 为什么输出是devtype 1,而不是devtype=1
时间: 2023-06-27 07:07:47 浏览: 44
这是因为 awk 默认使用空格作为输出字段的分隔符,而不是等号。因此,在 awk 命令中,将等号作为分隔符传递给 `-F` 参数,以告诉 awk 以等号作为字段分隔符。在 `grep` 命令中,由于没有指定输出格式,它默认使用文本格式。因此,它会输出包含匹配字符串的整行,而不是只输出匹配字符串本身。如果你想只输出匹配字符串本身,可以使用 `grep -o` 命令,例如 `cat tmp.ini | grep -o devtype`。这样就会输出字符串 "devtype",而不是 "devtype 1"。
相关问题
awk -F '=' "/[$section]/{a=1}(a==1 && "$key"==$1){$2="$value"}1" $file 为什么少了一个=
这是因为在awk命令中,变量$1表示当前行中的第一个字段,变量$2表示当前行中的第二个字段,以此类推。而在awk命令中,等号(=)是一个分隔符,用于分隔每个字段。因此,在将变量$value赋值给第二个字段时,需要在等号前后都加上引号,以保证awk命令的正确性。正确的写法应该是:
```awk -F '=' "/[$section]/{a=1}(a==1 && "$key"==$1){\$2=\"$value\"}1" $file```
其中,变量$value需要用反斜杠(\)转义,以防止它被解释为awk命令中的一个变量。
for nvmx in $(lsblk |grep -i disk |grep -vw $osdisk |awk {'print $1'} |grep nvme) do dir=${path}/$nvmx fio --ioengine=libaio --randrepeat=0 --norandommap --thread --direct=1 --group_reporting --name=mytest --runtime=1m --time_based --numjobs=1 --iodepth=128 --filename=/dev/${nvmx} --rw=randrw --rwmixread=70 --bs=4k --output=${dir}/fio_log/mixrandRW_${count}.log & nvme smart-log /dev/${nvmx} >${dir}/smartctl_log/${nvmx}_smart_${count} nvme intel smart-log-add /dev/${nvmx} >>${dir}/smartctl_log/${nvmx}_smart_${count} done
这段脚本的作用是,对除了 `$osdisk` 外的所有 NVMe 类型的硬盘进行性能测试和智能诊断,并将测试结果和诊断日志输出到指定的目录中。
脚本的具体流程如下:
1. 使用 `lsblk` 命令列出所有硬盘,并使用 `grep` 命令过滤出 NVMe 类型的硬盘。
2. 对每个 NVMe 硬盘,使用 `fio` 命令进行性能测试,并将测试结果输出到指定目录的日志文件中。
3. 对每个 NVMe 硬盘,使用 `nvme smart-log` 命令获取硬盘的智能诊断信息,并将诊断日志输出到指定目录的日志文件中。
4. 对每个 NVMe 硬盘,使用 `nvme intel smart-log-add` 命令获取 Intel 厂商的扩展智能诊断信息,并将诊断日志追加输出到指定目录的日志文件中。
该脚本的运行需要依赖 `fio`、`nvme` 和 `smartctl` 等工具。需要确保这些工具已经安装并配置正确。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)