awk 'NR==FNR{gsub(":","");macadd=$0;next}{sub(/^ssid=.*/,"ssid="macadd)}1' /sys/class/net/wlan0/address /etc/hostapd/hostapd.conf
Registro atual no. ( NR
) é igual ao registro do arquivo atual no. apenas para o primeiro arquivo, então a substituição de :
é feita, subsequentemente a linha é colocada na variável macadd
, e next
pula a saída de linha.
As outras instruções são aplicadas ao arquivo hostapd.conf
; final 1
significa "verdadeiro", assim linhas são impressas.
Se tudo funcionar bem, você pode redirecionar a saída do comando para um novo arquivo e substituir hostapd.conf
.
Notas:
- o pedido de arquivos importa, como você pode dizer
-
gawk
apresenta substituição no local a partir de 4.1.0