AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-112194

graywolf's questions

Martin Hope
graywolf
Asked: 2020-01-26 15:23:29 +0800 CST

Qual é a posição do POSIX awk no byte nulo em variables/printf?

  • 13

É legal imprimir bytes nulos usando a printffunção do awk de acordo com POSIX? O padrão POSIX deawk não parece mencioná-lo explicitamente de qualquer maneira. As implementações do mundo real diferem em como elas se comportam:

+$ gawk 'BEGIN { x = sprintf("\000"); print(length(x)); }'
1
+$ busybox awk 'BEGIN { x = sprintf("\000"); print(length(x)); }'
0
+$

e

+$ gawk 'BEGIN { printf("\000"); }' | xxd
00000000: 00                                       .
+$ busybox awk 'BEGIN { printf("\000"); }' | xxd
+$

Isso está especificado em algum lugar no padrão? Se sim, o comportamento requerido para variáveis ​​( x = sprintf("\000")) e printf ( printf("\000")) é o mesmo?

awk posix
  • 2 respostas
  • 865 Views
Martin Hope
graywolf
Asked: 2020-01-18 15:00:39 +0800 CST

Por que é legal ter espaço em branco antes da função incorporada no awk?

  • 1

Estou tentando entender como funciona o awk do busybox, então estou analisando o padrão e acerto uma coisa estranha que não entendo completamente por que é legal. Padrão ( https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html , na seção User-Defined Functions) afirma que

Ao invocar uma função, nenhum espaço em branco pode ser colocado entre o nome da função e o parêntese de abertura.

A gramática mostrada mais adiante é prefixada com:

Essa sintaxe formal deve ter precedência sobre a descrição da sintaxe de texto anterior.

non_unary_expr   : '(' expr ')'
                 | '!' expr
                 ...
                 | FUNC_NAME '(' expr_list_opt ')'
                      /* no white space allowed before '(' */
                 | BUILTIN_FUNC_NAME '(' expr_list_opt ')'
                 | BUILTIN_FUNC_NAME

A gramática é completamente a mesma para ambos BUILTIN_FUNC_NAMEe FUNC_NAME. No entanto, apesar disso, ele se comporta de maneira diferente para funções de usuário e internas:

+$echo | awk -P '{ print length() 1 }'
01
+$echo | awk -P '{ print length () 1 }'
01
+$echo | awk -P 'function foo() { return 0 } ; { print foo() 1 }'
01
+$echo | awk -P 'function foo() { return 0 } ; { print foo () 1 }'
awk: cmd. line:1: error: function `foo' called with space between name and `(',
or used as a variable or an array
awk: cmd. line:1: function foo() { return 0 } ; { print foo () 1 }
awk: cmd. line:1:                                            ^ syntax error
awk: cmd. line:1: function foo() { return 0 } ; { print foo () 1 }
awk: cmd. line:1:                                              ^ syntax error

Qual parte da gramática especifica esse comportamento?

awk posix
  • 1 respostas
  • 62 Views
Martin Hope
graywolf
Asked: 2020-01-14 12:32:30 +0800 CST

Obtendo o tempo de modificação do arquivo no shell POSIX

  • 6

É possível obter o tempo de modificação do arquivo do shell usando apenas recursos POSIX? Idealmente em timestamp unix (segundos).

Tudo o que consegui encontrar estava usando, stat(1)mas isso não parece estar definido no POSIX. É possível?

shell files
  • 3 respostas
  • 693 Views
Martin Hope
graywolf
Asked: 2018-10-26 09:39:45 +0800 CST

Como imprimir mensagem para o usuário na instalação do pacote?

  • 1

Quero notificar o usuário sobre detalhes importantes quando o pacote for instalado. Eu olhei https://www.debian.org/doc/debian-policy/ch-controlfields.html#list-of-fields mas não vejo nada adequado para esse propósito. Há alguma maneira de fazer isso?

debian packaging
  • 1 respostas
  • 474 Views
Martin Hope
graywolf
Asked: 2018-09-15 14:36:16 +0800 CST

Quais são as implicações de iommu=soft?

  • 15

Eu tenho um novo laptop no trabalho (Lenovo A485) e há poucos problemas com ele. Ele imprime AMD-Vi: IOAPIC[32] not in IVRS tablee kernel panic depois disso. Até agora eu descobri algumas maneiras de colocar o sistema em funcionamento.

  • noapic- desempenho terrível e alta temperatura, então não é realmente uma boa maneira de fazer isso
  • amd_iommu=off- também não é o ideal
  • ivrs_ioapic[32]=00:14.0 ivrs_ioapic[33]=00:00.2- isso parece funcionar bem
  • iommu=soft

Minhas perguntas são sobre iommu=soft. Não tenho certeza do que exatamente ele faz. Quais são as implicações deste modo? O que é preferível, substituindo a tabela IVRS ou iommu=soft?

linux linux-kernel
  • 1 respostas
  • 20675 Views
Martin Hope
graywolf
Asked: 2018-07-09 12:48:55 +0800 CST

Gerar sequência de argumento para passar para um programa?

  • 8

Atualmente, estou usando a combinação de chaves e globing para reproduzir vários arquivos no vlc de uma só vez:

vlc K20-{06,07,08,09,10,11,12,13,14,15,16,17}*

Mas os números são sempre sequência completa, existe uma maneira de especificar de alguma forma um pouco mais simples, talvez algo como

vlc K20-{06-17}*

? Talvez usar seqde alguma forma?

Eu posso usar

   $ echo K20-{$(seq -s, -f "%02.0f" 06 17)}*
K20-{06,07,08,09,10,11,12,13,14,15,16,17}*

mas isso não parece expandir o *. Alguma maneira de contornar isso?

bash
  • 1 respostas
  • 736 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve