
ではifcfg-eth0
grep "DEVICE=eth0" を使用しました。
grep "DEVICE=" ifcfg-eth0
しかし、「eth0」だけを表示するようにパターンを見つける方法は?
答え1
grep
実際にはツールではありません(GNU grepバージョンは同様の作業を行うためのさまざまなオプションを提供しますが)。sed
またはawk
仕事に適しています。
awk -F= '$1 == "DEVICE" { print $2 }'
sed -n 's/^DEVICE=//p'
答え2
grep
-P
これはGNUオプション(PCRE)を使用して行うことができます。すべてのバージョンのGNUgrep
コンパイルがこのオプションをサポートしているわけではないことに注意することが重要です-P
。
個人的に私はChris Downの提案に従っていますが、完全性のために必要な答えをawk
提供したいと思いました。grep
grep -Po '(?<=DEVICE=).+' ifcfg-eth0
この(?<=)
構造をといいますlook-behind
。一致を検索するために使用されますが、実際の一致には含まれません。