Linux
在此命令中替換 awk
我正在為 Debian 的 preseed-script 苦苦掙扎,並發現 awk 在安裝過程中不可用。
一點上下文
preseed-script 在以下行失敗並返回空結果:
real=`ip -o link | awk '/<%= @host.mac -%>/ {print $2;}' | sed s/://` cat << EOF > /etc/network/interfaces #loopback auto lo iface lo inet loopback #<%= @host.primary_interface.identifier %> auto $real allow-hotplug $real iface $real inet <%= host_dhcp ? 'dhcp' : 'static' %>
結果,
$real
為空並產生錯誤的網路配置。我希望歸檔的內容
我想重寫命令,使結果看起來像
ens18
或eth0
基於此輸入:root@vm:~# ip -o link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000\ link/ether 1e:7d:da:55:31:23 brd ff:ff:ff:ff:ff:ff
這是安裝過程中失敗的命令:
root@vm:~# ip -o link | awk '/1e:7d:da:55:31:23/ {print $2;}' | sed s/:// ens18
我的問題
在這種情況下,如何避免
awk
並使用其他工具來ens18
從ip -o link
-output 獲取介面名稱?不幸的是,我對sed
.
嘗試
grep
並cut
:ip -o link | grep '1e:7d:da:55:31:23' | cut -d' ' -f2 | sed s/://