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 / unix / Perguntas / 754006
Accepted
Flimm
Flimm
Asked: 2023-08-14 21:58:01 +0800 CST2023-08-14 21:58:01 +0800 CST 2023-08-14 21:58:01 +0800 CST

Como forçar a saída do flatpak a estar em uma tabela, mesmo quando o stdout é canalizado?

  • 772

flatpakimprime a saída como uma tabela:

$ flatpak search firefox
Name       Description                                        Application ID         Version     Branch Remotes
Firefox    Fast, Private & Safe Web Browser                   org.mozilla.firefox    116.0.2     stable flathub
Mullvad B… Free the internet from mass surveillance           …ullvad.MullvadBrowser 12.5.2      stable flathub
Mojave-GTK Mojave-Style Theme for GTK Flatpak Applications    …tk3theme.Mojave-light 0.1         3.22   flathub

No entanto, se for canalizado para algo, como catou grep, a saída não será mais formatada como uma tabela e os cabeçalhos da tabela desaparecerão:

$ flatpak search firefox | cat
Firefox Fast, Private & Safe Web Browser    org.mozilla.firefox 116.0.2 stable  flathub
Mullvad Browser Free the internet from mass surveillance    net.mullvad.MullvadBrowser  12.5.2  stableflathub
Mojave-GTK  Mojave-Style Theme for GTK Flatpak Applications org.gtk.Gtk3theme.Mojave-light  0.1 3.22    flathub

Como forço o flatpak a formatar a saída como uma tabela, mesmo quando a saída é canalizada para outro processo?

flatpak
  • 1 1 respostas
  • 21 Views

1 respostas

  • Voted
  1. Best Answer
    Marcus Müller
    2023-08-14T23:57:09+08:002023-08-14T23:57:09+08:00

    A inspeção do que as chamadas do sistema flatpak searchfazem mostra que o comando flatpak verifica se a saída padrão é um terminal real e obtém sua largura em caracteres¹ para definir a saída (você pode testar isso: faça uma janela de console menor e execute o mesmo flatpak searchcomando novamente: não está contendo exatamente a mesma saída!).

    Como o redirecionamento para um arquivo não possui um "número de colunas exibíveis", o flatpak não tenta fazer o mesmo layout legal da exibição.

    Ei, Flimm, isso soa muito como se você realmente não devesse usar a saída "bonita para humanos" que, por exemplo flatpak search, produz, mas chame você mesmo os programas subjacentes. No entanto:

    flatpakpor padrão, separa as colunas em sua saída com tabuladores ( Tab, ↹, \t, como quiser) e isso torna mais fácil para você separar as colunas individuais e fazer o layout você mesmo, da maneira que desejar. Por exemplo:

    COLUMNS=application,version,name
    flatpak search --columns "${COLUMNS}" gimp | mlr --itsv --opprint --barred --implicit-csv-header label "${COLUMNS}"
    

    rendimentos

    +------------------------------------+---------+--------------------------------+
    | application                        | version | name                           |
    +------------------------------------+---------+--------------------------------+
    | org.gimp.GIMP.Manual               | 2.10    | GIMP User Manual               |
    | org.gimp.GIMP                      | 2.10.34 | GNU Image Manipulation Program |
    | org.gimp.GIMP.Plugin.Resynthesizer | 2.0.3   | Resynthesizer                  |
    | org.gimp.GIMP.Plugin.Resynthesizer | 2.0.3   | Resynthesizer                  |
    | org.gimp.GIMP.Plugin.Lensfun       | 0.2.4   | GimpLensfun                    |
    | org.gimp.GIMP.Plugin.Lensfun       | 0.2.4   | GimpLensfun                    |
    | org.gimp.GIMP.Plugin.Fourier       | 0.4.3   | Fourier                        |
    | org.gimp.GIMP.Plugin.Fourier       | 0.4.3   | Fourier                        |
    | org.gimp.GIMP.Plugin.BIMP          | 2.6     | BIMP                           |
    | org.gimp.GIMP.Plugin.BIMP          | 2.5     | BIMP                           |
    | org.gimp.GIMP.Plugin.LiquidRescale | 0.7.2   | LiquidRescale                  |
    | org.gimp.GIMP.Plugin.LiquidRescale | 0.7.2   | LiquidRescale                  |
    | org.gimp.GIMP.Plugin.GMic          | 3.2.6   | G'MIC                          |
    | org.gimp.GIMP.Plugin.GMic          | 2.9.6   | G'MIC                          |
    | org.gimp.GIMP.Plugin.FocusBlur     | 3.2.6   | FocusBlur                      |
    | org.gimp.GIMP.Plugin.FocusBlur     | 3.2.6   | FocusBlur                      |
    | org.gabmus.swatch                  | 0.1     | Swatch                         |
    | com.github.unrud.djpdf             | 0.4.3   | Scans to PDF                   |
    +------------------------------------+---------+--------------------------------+
    



    ¹ Como eu fiz isso:

    Um rápido strace -o /tmp/flatpak.strace flatpak search, seguido pela leitura de /tmp/flatpak.strace:

    grep ioctl /tmp/strace
    

    dando-nos

    ioctl(1, TIOCGWINSZ, {ws_row=61, ws_col=232, ws_xpixel=2552, ws_ypixel=1403}) = 0
    ioctl(1, TCGETS, {c_iflag=ICRNL|IXON|IUTF8, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST|ONLCR, c_cflag=B38400|CS8|CREAD, c_lflag=ISIG|ICANON|ECHO|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0
    
    • 1

relate perguntas

  • Como listar todos os aplicativos flatpak que usam um tempo de execução específico?

  • Como redefinir todas as permissões substituídas manualmente para um flatpak?

  • Como fazer o "flatpak enter" funcionar?

  • Como listar permissões de aplicativos flatpak?

  • Como permitir que o aplicativo GUI no flatpak execute a ferramenta CLI?

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