shell文本整理-1

grep + 正则表达式
类似下面
[Tue Apr 18 12:26:38 2023] nvme0n1: 后面的数字

#:dmesg -T| grep -oE ‘[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} [0-9]{4}’
#: 18 12:02:33 2023
抓中括号里的所有的字符
[0-9] 抓数字
{2} 抓两位
注意这个里面格式必须匹配,包含空格等等,不然无法匹配
[root@localhost ~]# dmesg -T| grep -oE ‘[[^]]+]’
[Tue Apr 18 12:02:33 2023]

[ 以 [ 为起点
[^]] 会匹配任何不是 ] 的字符
+] 结尾是 ]

nvme list | grep -e nvme | awk -F ’ ’ ‘{print $2}’ | xargs echo -n
提取的sn是类似这样:abcedskdkk94 dsafasnk642而不是以换行符为结尾
这个命令的作用是将输入的内容以空格为分隔符,通过echo -n命令输出。xargs命令会将输入的内容分割成多个部分,然后作为参数传递给echo -n命令

KaTeX parse error: Expected '}', got '#' at position 5: {dev#̲#*/} 是一个Shell脚…{dev##/} 将删除变量 dev 的值中最前面的斜杠(/)及其前面的所有字符。如果 dev 的值是 /path/to/device,那么 ${dev##/} 的值将是 device。
这种参数扩展形式在Shell脚本中常用于处理路径和文件名,以便仅获取路径或文件名的特定部分。

你可能感兴趣的:(Linux系统,Shell,服务器,linux,运维)