第一次尝试任何shell脚本时,我需要执行的任务如下:

该命令的输出在下面-> cat /sys/kernel/debug/spmi/spmi-0/data

00800 00 03 03 00 01 01 00 C0 10 00 00 00 00 20 00 00
00810 00 03 03 03 00 03 03 00 00 00 00 00 00 00 00 00
00820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00840 0F 07 01 00 0F 07 04 00 0F 07 07 80 0F 07 04 00
00850 0F 07 04 00 0F 03 08 00 00 00 01 80 00 00 00 00
00860 00 00 00 80 00 00 04 80 00 00 04 00 00 00 00 00
00870 0F 00 00 00 02 04 00 00 00 00 00 00 00 00 00 00
00880 FE 00 40 00 00 00 00 00 05 00 20 00 01 00 00 00


我需要检查first row and 14th column value and extract it.的值,该值可以是00 or 20。在该值的基础上,我必须更改目录名称,我认为我可以注意。

有什么机构可以帮到我吗,因为我已经从https://unix.stackexchange.com/questions/37313/how-do-i-grep-for-multiple-patterns进行了搜索,但未能成功。

最佳答案

这很容易!

$ head /sys/kernel/debug/spmi/spmi-0/data -n 1| cut -d " " -f 14


说明:


head /sys/kernel/debug/spmi/spmi-0/data -n 1它将输出给定文件的第一行。
cut -d " " -f 14将选择第14个字段/列(其中字段由" " -Space分隔


编辑

用法

value=`head /sys/kernel/debug/spmi/spmi-0/data -n 1| cut -d " " -f 14`
echo $value


awk-解决方案

twalberg提供的替代解决方案

awk 'NR==1{print $14}' /sys/kernel/debug/spmi/spmi-0/data

关于linux - 通过检查多个条件来提取字符串的一部分-Shell脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24079510/

10-15 03:39