Alguma ideia do que isso deve fazer?
grep -lr . | xargs sed -i '' -e '/ifcfg-wlan0/!s/wlan0/<name of the device>/g'
Nunca vi um sed
comando com cinco barras e não consigo encontrar nenhuma documentação sobre isso.
Alguma ideia do que isso deve fazer?
grep -lr . | xargs sed -i '' -e '/ifcfg-wlan0/!s/wlan0/<name of the device>/g'
Nunca vi um sed
comando com cinco barras e não consigo encontrar nenhuma documentação sobre isso.
Pense nisso como um comando e um condicional. Significa "substituir todas as ocorrências de
wlan0
por,<name of the device>
a menos que a linha correspondaifcfg-wlan0
". Ou, talvez com mais precisão, significa "se esta linha corresponder aifcfg-wlan0
, não substituawlan0
por<name of the device>
" portanto, por extensão, substitua-a em qualquer linha que não correspondaifcfg-wlan0
.Este é um dos muitos "endereços" que
sed
compreende, especificamente um endereço regexp, documentadoman sed
no meu GNUsed
como:Se você também souber que
!
nega a próxima instrução, poderá traduzir/ifcfg-wlan0/!s/wlan0/<name of the device>/g'
para este pseudocódigo:E, finalmente, aqui está em ação, com alguns espaços em branco adicionados para maior clareza: