Suponhamos que exista um comando como:
cat /boot/config-3.19.0-32-generic | grep CONFIG_ARCH_DEFCONFIG
A saída é a seguinte:
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
Agora, minha pergunta é: Existe algum comando que imprima apenas o que está dentro das vírgulas invertidas, ou seja " "
,?
E você poderia explicar um pouco o comando? Obrigado! antecipadamente.
cat
, embora inútil nesse caso, facilitaria a edição de toda a linha de comandos no futuro, caso você queira alterar / adicionar / remover algo mais tarde, talvez um tr
ou cut
, etc., não precise localizar e mover o nome do arquivo , verifique se o outro comando o suporta, encontre onde colocá-lo etc. E para um pequeno arquivo de teste, ele adiciona apenas 0,002s. (Eu provavelmente passou mais tempo digitando isso do que eu jamais vou guardar na vida de evitar supérfluos cat
's)
cat
ajuda aqui? Você pode fazer grep foo file | tr
ou ... | cut
tão facilmente quanto cat file | tr | grep ...
. O cat
just adiciona cinco caracteres extras, um pipe extra e uma chamada de programa extra e não simplifica nada.
cat
em um tubo é quase sempre um desperdício de recursos (AKA UUOC );grep
já pode ler sua entrada de um arquivo (ou seja,grep CONFIG_ARCH_DEFCONFIG /boot/config-3.19.0-32-generic
faz exatamente a mesma coisa, mas 1. É mais curto 2. É mais fácil de entender 3. Ele não bifurca um shell adicional e um processo adicional). Em 99% dos casos, usar o gato no início do tubo sem concatenar vários arquivos é apenas prejudicial. :)