我想知道是否有人可以帮助我理解以下命令。此命令的目的是清除旧内核,但我想了解语法:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
这是我到目前为止所拥有的:
dpkg -l 'linux-*' - 列出包含“linux-*”模式的包
sed '/^ii/!d;/'... - 查找以ii开头但不包含d 的行;
"$(uname -r | sed "s/(.*)-([^0-9]+)/\1/")"'/d - 命令替换以列出当前内核并仅从版本,sed "s/(.*)... - 搜索任意数量的字符,...([^0-9]... - 从数字 0-9 开始,我不明白这一点:...+)/\1/...
我完全迷失了这个:
s/^[^]* [^]* ([^] )。/\1/;/[0-9]/!d' - 它是否在寻找以字符串开头的空字符?
问候