这段代码哪错了 我想把test1中的第一个,替换为:号 cat test1 |sed's/,/:/'
时间: 2024-01-06 18:03:40 浏览: 25
这段代码是正确的,它的作用是将 test1 文件中每行以逗号分隔的第一个元素替换为冒号。具体操作是将 test1 文件的内容通过管道符传递给 sed 命令,sed 命令会依次处理每一行,并使用 s 命令将该行第一个逗号替换为冒号。最后,sed 命令将处理后的每行输出到标准输出。如果你想将替换后的结果保存到文件中,可以使用重定向符号 `>`,例如:
```
cat test1 | sed 's/,/:/' > new_test1
```
这将把处理后的结果保存到名为 new_test1 的文件中。
相关问题
sh /app/scripts/test-i2c.sh > 1test var=cat 1test |awk '{print $2}'|tail -n 2 |sed -n '1p' if [ $var == "OK" ];then echo "test i2c pass" else echo "test i2c failed" exit 1 fi rm 1test逐行解读这段代码
这段代码是一段 Shell 脚本,逐行解读如下:
1. `sh /app/scripts/test-i2c.sh > 1test`:运行 `/app/scripts/test-i2c.sh` 脚本,并将输出重定向到文件 `1test` 中。
2. `var=cat 1test |awk '{print $2}'|tail -n 2 |sed -n '1p'`:将文件 `1test` 中倒数第二行的第二个单词赋值给变量 `var`。具体操作是,使用 `awk` 命令打印每行的第二个单词,然后使用 `tail` 命令取倒数第二行及之前的所有行,最后使用 `sed` 命令取第一行。
3. `if [ $var == "OK" ];then`:判断变量 `var` 是否等于字符串 "OK",如果是,则执行下一行代码,否则执行 `else` 后面的代码。
4. `echo "test i2c pass"`:输出字符串 "test i2c pass"。
5. `else`:如果 `if` 语句中的条件不成立,则执行该行代码之后的代码。
6. `echo "test i2c failed"`:输出字符串 "test i2c failed"。
7. `exit 1`:结束脚本并返回状态码 1。
8. `rm 1test`:删除文件 `1test`。
#!/bin/bash CPWD=$(cd $(dirname $0);pwd) cd $CPWD rm -f ssd_symbol_set hdd_symbol_set nvme_symbol_set filter_ssd_hdd_nvme_set() { rm -f ssd_symbol_set hdd_symbol_set nvme_symbol_set os_disk_symbol=$(echo $(lsblk |grep -B1 -E "part|boot" |grep -E "^sd[a-z]+|^nvme" |awk '{print $1}') |sed 's/ /|/') non_os_disk_set=$(lsscsi -g |-E "ATA|TOSHIBA" |awk '{print $(NF-1)}' |grep -Ev $os_disk_symbol) if [[ -n $non_os_disk_set ]];then for i in $(echo "$non_os_disk_set") do rotationRate=$(smartctl -i $i |awk -F":" '/Rotation Rate/{print $2}') if [[ $rotationRate =~ "Solid State Device" ]];then echo $i |awk -F"/" '{print $3}' >> ssd_symbol_set elif [[ $rotationRate =~ "rpm" ]];then echo $i |awk -F"/" '{print $3}' >> hdd_symbol_set fi done fi nvme_info_set=$(nvme list |grep -E "nvme[0-9]+n1") if [[ -n $nvme_info_set ]];then echo "$nvme_info_set" |awk '{print $1}' |awk -F"/" '{print $3}' > nvme_symbol_set fi } hdd_parallel_fio_test() { # multi hdd fio test if [ -s hdd_symbol_set ];then for dev in $(cat hdd_symbol_set) do nohup &>/dev/null bash hdd_raw_fio_test.sh $dev & done wait mkdir -p $CPWD/hdd_fio_log mv hdd_sd*_*.log $CPWD/hdd_fio_log fi } ssd_parallel_fio_test() { # multi sata ssd fio test if [ -s ssd_symbol_set ];then for dev in $(cat ssd_symbol_set) do nohup &>/dev/null bash ssd_raw_fio_test.sh $dev & done wait mkdir -p $CPWD/ssd_fio_log mv ssd_sd*_*.log $CPWD/ssd_fio_log fi } nvme_parallel_fio_test() { # multi nvme ssd fio test if [ -s nvme_symbol_set ];then for dev in $(cat nvme_symbol_set) do nohup &>/dev/null bash ssd_raw_fio_test.sh $dev & done wait mkdir -p $CPWD/nvme_fio_log mv ssd_nvme*_*.log $CPWD/nvme_fio_log fi } filter_ssd_hdd_nvme_set #hdd_parallel_fio_test #ssd_parallel_fio_test nvme_parallel_fio_test
这是一个 Shell 脚本,主要作用是对系统中的 SSD、HDD 和 NVMe 进行 FIO 性能测试,并将测试结果保存在对应的日志文件中。具体实现步骤如下:
1. 定义了一个函数 filter_ssd_hdd_nvme_set,该函数的作用是获取系统中所有 SSD、HDD 和 NVMe 的设备符号,并保存在对应的文件中。
2. 定义了三个函数 hdd_parallel_fio_test、ssd_parallel_fio_test 和 nvme_parallel_fio_test,分别用于对系统中的 HDD、SSD 和 NVMe 执行 FIO 性能测试,并将测试结果保存在对应的日志文件中。
3. 在执行主函数时,首先调用 filter_ssd_hdd_nvme_set 函数获取 SSD、HDD 和 NVMe 的设备符号,然后分别调用 hdd_parallel_fio_test、ssd_parallel_fio_test 和 nvme_parallel_fio_test 函数对它们进行 FIO 性能测试。
4. 在执行 FIO 测试时,使用 nohup 命令将测试脚本在后台执行,并将输出重定向到 /dev/null,以避免输出影响测试结果。
5. FIO 测试完成后,将测试日志文件移动到对应的目录中,以便后续分析。
最终,执行该脚本后,可以对系统中的所有 SSD、HDD 和 NVMe 进行 FIO 性能测试,并将测试结果保存在对应的日志文件中,方便后续分析和比较。
相关推荐
![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_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)
![](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)