誰かが次のコマンドを理解するのを手伝ってくれるかどうか疑問に思っています。このコマンドの目的は古いカーネルをパージすることですが、構文を理解したいと思います:
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 - 現在のカーネルを一覧表示し、 version, sed "s/(.*)... - 任意の数の文字を検索します, ...([^0-9]... - 数字 0-9 から始めます。このビットがわかりません: ...+)/\1/...
私はこれで完全に迷っています:
s/^[^]*[^]*([^] )。/\1/;/[0-9]/!d' - 文字列を開始する空の文字を探していますか?
よろしく