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 / 问题

All perguntas(unix)

Martin Hope
Ronnie
Asked: 2024-10-31 00:37:21 +0800 CST

Encontrar o número de ocorrências de uma palavra em um arquivo PDF

  • 5

Dentro de uma pasta há muitas subpastas e dentro das subpastas há muitos arquivos PDF. Parece com isso abaixo:

+- SubfolderA
|  +- File1.pdf
|  +- File2.pdf
|
+- SubfolderB
|  +- File3.pdf
|  +- File4.pdf
|  +- file5.pdf
|
+- SubfolderC
   +- File6.pdf
   +- File7.pdf

Gostaria de descobrir o número de vezes que uma palavra específica, por exemplo, keywordxocorre nesses arquivos.

  • De preferência ignorando a exibição dos arquivos que têm 0 ocorrências.
  • E o ideal é mostrar a lista ordenada, com o arquivo com o número máximo de acessos exibido primeiro.
bash
  • 2 respostas
  • 90 Views
Martin Hope
floupinette
Asked: 2024-10-30 21:53:26 +0800 CST

Onde estão os certificados CA intermediários?

  • 9

Na pasta /etc/ssl/certs/posso ver bem:

  • Links simbólicos para os certificados armazenados em/usr/share/ca-certificates/
  • O arquivo BUNDLE ca-certificates.crtque contém todos os certificados no formato PEM

Vejo apenas certificados CA raiz...não vejo os certificados CA intermediários? Por quê?

Por exemplo, com o Let's encrypt CA, posso encontrar facilmente:

  • ISRG_Root_X1.pem
  • ISRG_Root_X2.pem

Mas onde estão os certificados intermediários Let's encrypt? No dia em que escrevo esta pergunta, há 4 certificados CR intermediários:

  • E5
  • E6
  • R10
  • R11

Acho que há em algum lugar no meu computador, porque consigo estabelecer com sucesso uma conexão SSL com um servidor (usando o certificado Let's Encrypt).

openssl
  • 2 respostas
  • 511 Views
Martin Hope
None
Asked: 2024-10-30 11:32:00 +0800 CST

Como instalar o Fedora com um arquivo kickstart do Fedora livemedia?

  • 5

Estou tentando instalar o fedora com SED: https://fedoraproject.org/wiki/Changes/SelfEncryptingDrivesSupportInAnaconda

A interface gráfica não suporta isso, tenho que instalar usando um arquivo kickstart.

Verifiquei em todos os lugares, mas não consigo encontrar como executar a instalação com o arquivo.

  • Executando o Fedora 41 live media
  • Editou o arquivo enquanto executava f41
fedora
  • 1 respostas
  • 19 Views
Martin Hope
CPC_92
Asked: 2024-10-30 07:42:18 +0800 CST

Como editar uma string que corresponde a um padrão em um campo específico na condição de que outra string não esteja presente na mesma linha

  • 5

Preciso editar a string "NA" para "Na" somente se ela estiver no 6º campo de um arquivo. Atualmente, posso fazer isso com:

awk '{gsub("NA","Na",$6)}1' $filename

No entanto, preciso da condição adicional de que isso não ocorra se a string "HEM" estiver na mesma linha. Por exemplo, eu gostaria que a linha a seguir permanecesse a mesma:

7353  NA       5.4433   24.4404   -3.0784 NA    456  HEM 

Por fim, o comando acima remove o preenchimento extra entre os campos. Se houver um comando que possa fazer isso sem alterar o espaçamento entre os campos, isso seria ótimo, mas esse recurso não é necessário.

Acho que isso poderia ser feito lendo cada arquivo e imprimindo cada linha, e editando apenas com uma instrução if, mas estou tentando evitar algo desajeitado como isso.

Sinto que isso é uma tarefa difícil de fazer de forma simples, mas ficaria super grato se algum mago do Unix soubesse como. Obrigado!

awk
  • 3 respostas
  • 125 Views
Martin Hope
Savannah Hay
Asked: 2024-10-30 06:17:48 +0800 CST

subconjunto meu arquivo .fam usando um arquivo .txt de nomes

  • 7

Eu tenho um arquivo .fam no formato plink, parece com isso

 1        I001.HO 0 0 1 1
 2        I002.HO 0 0 1 1
 3   IREJ-T006.HO 0 0 1 1
 4   IREJ-T009.HO 0 0 1 1
 5   IREJ-T022.HO 0 0 1 1
 6   IREJ-T023.HO 0 0 1 1
 7   IREJ-T026.HO 0 0 1 1
 8   IREJ-T027.HO 0 0 1 1
 9   IREJ-T037.HO 0 0 1 1
10   IREJ-T040.HO 0 0 1 1
11   IREJ-T053.HO 0 0 1 1
12   IREJ-T064.HO 0 0 1 1
13   IREJ-T078.HO 0 0 1 1
14   IREJ-T090.HO 0 0 1 1
15   IREJ-T101.HO 0 0 1 1
16   IREJ-T103.HO 0 0 1 1
17   IREJ-T111.HO 0 0 1 1
18   IREJ-T184.HO 0 0 1 1
19   IREJ-T204.HO 0 0 1 1
20     MAL-005.HO 0 0 1 1
21     MAL-009.HO 0 0 1 1

mas com milhares de linhas. Mas eu quero apenas um subconjunto dessas linhas no meu arquivo de dados final. Eu tenho um arquivo .txt de cada indivíduo que eu quero manter. Então parece que

IREJ-T184.HO
IREJ-T204.HO
MAL-005.HO
MAL-009.HO

Como posso usar esse arquivo .txt para criar um novo arquivo com apenas as linhas que incluem os indivíduos listados no arquivo .txt? Quero manter todos os dados na linha, não apenas o nome do ID.

Obrigado!

linux
  • 1 respostas
  • 25 Views
Martin Hope
skewray
Asked: 2024-10-30 02:43:57 +0800 CST

Copie o e-mail salvo para a caixa de entrada com Mutt

  • 5

Muitas vezes salvo e-mails em arquivos de disco, um péssimo hábito de usar o Mutt por mais de 30 anos. Como faço para copiar (restaurar) o e-mail aberto no momento no disco para minha caixa de entrada do IMAP? De preferência com uma tecla de atalho.

mutt
  • 1 respostas
  • 13 Views
Martin Hope
Gatito
Asked: 2024-10-30 01:38:08 +0800 CST

Script bash - Inserção de dados no MariaDB a partir do banco de dados Oracle

  • 5

Este script bash faz a extração dos dados para o Oracle DB (outro servidor), processa-os e insere-os no MariaDB (meu servidor), mas a inserção fica desalinhada e deixa algumas colunas em branco.

Este é o código:

#!/bin/bash

ORACLE_USER="user"
ORACLE_PASSWORD="password"
ORACLE_DB="IP/SID"

MYSQL_USER="user"
MYSQL_PASSWORD="password"
MYSQL_DB="DB"

echo "Fetching data from Oracle..."
ORACLE_DATA=$(sqlplus -s "$ORACLE_USER/$ORACLE_PASSWORD@$ORACLE_DB" <<EOF
SET PAGESIZE 50000
SET COLSEP '|'
SET LINESIZE 1000
SET HEADING OFF
SET FEEDBACK OFF
SET TERMOUT OFF
select TRIM(REGION), TRIM(CENTRAL), TRIM(NOMBRE_BANCO), TRIM(MODELO), TRIM(BATERIA), TRIM(TECNOLOGIA_ID), TRIM(AMPERAJE_CA), TO_CHAR(MEDIDO, 'YYYY-MM-DD') AS MEDIDO, TRIM(PORCENTAJE), TRIM(VOLTAJE), TRIM(VOLTAJE_AC), TO_CHAR(CREADO, 'YYYY-MM-DD') AS CREADO
from SIMBA_BD.VIEW_CENTRAL_MEDICIONES_PLOMO where rownum<=10;
EXIT;
EOF
)

echo "Data fetched from Oracle:"
echo "$ORACLE_DATA"

echo "Truncating the MariaDB table..."
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DB" <<EOF
  TRUNCATE TABLE SIMBA;
EOF

echo "Inserting data into MariaDB..."
while IFS='|' read -r REGION CENTRAL NOMBRE_BANCO MODELO BATERIA TECNOLOGIA_ID AMPERAJE_CA MEDIDO PORCENTAJE VOLTAJE VOLTAJE_AC CREADO; do

REGION=$(echo "$REGION" | tr -d '\r\n')
CENTRAL=$(echo "$CENTRAL" | tr -d '\r\n')
NOMBRE_BANCO=$(echo "$NOMBRE_BANCO" | tr -d '\r\n')
  MODELO=$(echo "$MODELO" | tr -d '\r\n')
BATERIA=$(echo "$BATERIA" | tr -d '\r\n')
TECNOLOGIA_ID=$(echo  "$TECNOLOGIA_ID" | tr -d '\r\n')
AMPERAJE_CA=$(echo "$AMPERAJE_CA" | tr -d '\r\n')
MEDIDO=$(echo "$MEDIDO" | tr -d  '\r\n')
PORCENTAJE=$(echo "$PORCENTAJE" | tr -d '\r\n')
VOLTAJE=$(echo "$VOLTAJE" | tr -d '\r\n')
VOLTAJE_AC=$(echo "$VOLTAJE_AC" | tr -d '\r\n')
  CREADO=$(echo "$CREADO" | tr -d '\r\n')

REGION=${REGION:-""}
CENTRAL=${CENTRAL:-""}
NOMBRE_BANCO=${NOMBRE_BANCO:-""}
MODELO=${MODELO:-""}
BATERIA=${BATERIA:-""}
TECNOLOGIA_ID=${TECNOLOGIA_ID:-""}
AMPERAJE_CA=${AMPERAJE_CA:-0}
MEDIDO=${MEDIDO:-"NULL"}
PORCENTAJE=${PORCENTAJE:-0}
VOLTAJE=${VOLTAJE:-0}
VOLTAJE_AC=${VOLTAJE_AC:-0}
CREADO=${CREADO:-"NULL"}

echo "Region: $REGION"
    echo "Central: $CENTRAL"
    echo "Nombre_Banco: $NOMBRE_BANCO"
    echo "Modelo: $MODELO"
    echo "Bateria: $BATERIA"
    echo "Tecnologia: $TECNOLOGIA_ID"
    echo "Amperaje_CA: $AMPERAJE_CA"
    echo "Medido: $MEDIDO"
    echo "Porcentaje: $PORCENTAJE"
    echo "Voltaje: $VOLTAJE"
    echo "Voltaje_AC: $VOLTAJE_AC"
    echo "Creado: $CREADO"

if ! [[ "$MEDIDO" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
        MEDIDO="NULL"
  fi

if ! [[ "$CREADO" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then
        CREADO="NULL"
  fi

if ! [[ "$AMPERAJE_CA" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then
         AMPERAJE_CA=0
  fi

if ! [[ "$PORCENTAJE" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then
        PORCENTAJE=0
fi

if ! [[ "$VOLTAJE" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then
        VOLTAJE=0
  fi

if ! [[ "$VOLTAJE_AC" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then
        VOLTAJE_AC=0
  fi

  mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DB" <<EOF
  INSERT INTO SIMBA (Region, Central, Nombre_Banco, Modelo, Bateria, Tecnologia, Amperaje_CA, Medido, Porcentaje, Voltaje, Voltaje_AC, Creado) VALUES ('$REGION', '$CENTRAL', '$NOMBRE_BANCO', '$MODELO', '$BATERIA', '$TECNOLOGIA_ID', '$AMPERAJE_CA', IF('$MEDIDO' = 'NULL', NULL, '$MEDIDO'), '$PORCENTAJE', '$VOLTAJE', '$VOLTAJE_AC', IF('$CREADO' = 'NULL', NULL, '$CREADO'));
EOF

done <<< "$ORACLE_DATA" >> SALIDA.TXT

echo "Data insertion completed."

E os resultados são assim:

Region:

Central:

Nombre_Banco:

Modelo:

Bateria:

Tecnologia:

Amperaje_CA:

Medido:

Porcentaje:

Voltaje:

Voltaje_AC:

Creado:

Region: REGION 7

Central: LERFIC

Nombre_Banco: 7LERFICCT1B6

Modelo: BATERIA GNB ABSOLYTE, 100A-19 896AH

Bateria:

Tecnologia:

Amperaje_CA:

Medido:

Porcentaje:

Voltaje:

Voltaje_AC:

Creado:

Region: J10B                                                                                                                        

Central: TYPHOON(TY1)

Nombre_Banco: 0

Modelo: 2016-12-30

Bateria: 54.45

Tecnologia: 2.25

Amperaje_CA: 0

Medido: 2017-01-10

Porcentaje:

Voltaje:

Voltaje_AC:

Creado:
shell-script
  • 1 respostas
  • 24 Views
Martin Hope
Guss
Asked: 2024-10-29 18:19:01 +0800 CST

Forçar o dpkg-buildpackage a especificar dependências exatas para alguns pacotes?

  • 6

Estou construindo um aplicativo que depende do Qt6 e, por padrão, dpkg-buildpackagegera >=dependências para dependências shlibs que não especifiquei explicitamente. Então especificando:

Depends: ${shlibs:Depends}

Causas:

$ dpkg-query --show -f '${Depends}' mypackage
... qt6-base (>= 6.7.2), ...

O problema é que o Qt requer a versão específica exata contra a qual o aplicativo foi criado para poder ser executado. Se o sistema tiver qt6-baseuma versão 6.8.0instalada, meu aplicativo será instalado, mas não será executado - como posso evitar isso?

Não quero aptatualizar meu aplicativo até ter uma versão que suporte explicitamente a versão exata do Qt disponível no sistema (e/ou impedir a atualização do Qt até que eu tenha lançado uma versão apropriada).

Eu sei que posso adicionar dependências explícitas manuais para cada pacote Qt do qual dependo - e então atualizar a versão manualmente toda vez que eu compilar com uma nova versão Qt - mas isso vai ser muito trabalhoso. Eu esperaria que houvesse uma opção de algo como "para pacotes que têm o texto 'qt' em seu nome, use uma =dependência em vez de um >=".

ubuntu
  • 1 respostas
  • 9 Views
Martin Hope
Vaqxai
Asked: 2024-10-29 17:42:57 +0800 CST

Um dos monitores fica preto ao tirar uma captura de tela com óculos

  • 6

Ao pressionar uma tecla de atalho para capturar uma região, ou ao usar o botão UI, no Spectacle no Ubuntu 24.04 com KDE Neon (instalado manualmente) , um dos meus monitores fica preto. Então, tenho que reconectá-lo ou desabilitar-habilitar nas configurações.

Existem três monitores: o integrado do laptop, um Philips conectado via USB-C -> HDMI (funciona) e um MSI conectado via HDMI (não funciona)

Eu tentei:

  • desconecte/desabilite todas as outras telas, incluindo a tela embutida do laptop
  • remova todas as teclas de atalho e use apenas o botão de captura da interface do usuário (para diagnosticar possíveis conflitos de teclas de atalho)
  • instale o spectacle da loja snap em vez do pacote (não funciona com o KDE Neon)
  • use o obturador em vez disso (não funciona no Wayland)
  • use flameshot em vez disso (não funciona com vários monitores)
  • redefinir a escala de todos os monitores para 100%

Notavelmente:

  • isso só acontece com um monitor específico (independentemente do arranjo do monitor ou da saída em que ele está conectado)
  • executar spectacle -m ou capturar a "tela atual" não causa o problema, é apenas a captura de região que causa
  • correndo spectacle -r também deixa o monitor preto
  • mesmo que a tela fique preta, a saída ainda está correta (a captura de tela da região foi tirada corretamente)
  • depois de ficar preto, o monitor ainda está conectado (não mostra "aguardando entrada")
  • por uma fração de segundo, consigo ver a sobreposição de captura, então a tela fica preta
  • não desliga, a luz de fundo fica visível, só fica preta
  • bloquear o computador e desbloqueá-lo não restaura a imagem

Isso começou a acontecer depois que troquei do KDE para o KDE Neon. Posso ter quebrado alguma dependência do spectacle no processo, mas não tenho certeza de como verificar isso, e os logs do spectacle não têm erros.

Reiniciando o PC após instalar atualizações. Agora, cada reinicialização corrige o problema temporariamente. Após uma reinicialização, tudo funciona, então, depois de algum tempo, para e quebra (ainda estou tentando encontrar a ação exata que quebra)

Edição: Usando "PixelTaken" como alternativa, o problema também está presente.

multi-monitor
  • 2 respostas
  • 152 Views
Martin Hope
CarloC
Asked: 2024-10-29 17:29:08 +0800 CST

lsns relata saídas diferentes com base no usuário que o executa

  • 5

A saída de lsnsparece diferente com base no privilégio do usuário que o executa. ubuntuusuário e rootusuário obtêm resultados diferentes:

ubuntu@ubuntu:~$ lsns 
        NS TYPE   NPROCS    PID USER   COMMAND
4026531834 time        6 134628 ubuntu /lib/systemd/systemd --user
4026531835 cgroup      6 134628 ubuntu /lib/systemd/systemd --user
4026531836 pid         6 134628 ubuntu /lib/systemd/systemd --user
4026531837 user        5 134628 ubuntu /lib/systemd/systemd --user
4026531838 uts         6 134628 ubuntu /lib/systemd/systemd --user
4026531839 ipc         6 134628 ubuntu /lib/systemd/systemd --user
4026531840 net         6 134628 ubuntu /lib/systemd/systemd --user
4026531841 mnt         5 134628 ubuntu /lib/systemd/systemd --user
4026532290 user        1 134689 ubuntu /usr/bin/podman
4026532291 mnt         1 134689 ubuntu /usr/bin/podman
ubuntu@ubuntu:~$ 
ubuntu@ubuntu:~$ 
ubuntu@ubuntu:~$ sudo lsns
        NS TYPE   NPROCS    PID USER             COMMAND
4026531834 time      115      1 root             /sbin/init
4026531835 cgroup    115      1 root             /sbin/init
4026531836 pid       112      1 root             /sbin/init
4026531837 user      113      1 root             /sbin/init
4026531838 uts       112      1 root             /sbin/init
4026531839 ipc       115      1 root             /sbin/init
4026531840 net       115      1 root             /sbin/init
4026531841 mnt       101      1 root             /sbin/init
4026531862 mnt         1     25 root             kdevtmpfs
4026532284 mnt         1    414 root             /lib/systemd/systemd-udevd
4026532285 uts         1    414 root             /lib/systemd/systemd-udevd
4026532286 mnt         1    469 systemd-timesync /lib/systemd/systemd-timesyncd
4026532287 uts         1    469 systemd-timesync /lib/systemd/systemd-timesyncd
4026532288 mnt         1    572 systemd-network  /lib/systemd/systemd-networkd
4026532289 mnt         1    608 systemd-resolve  /lib/systemd/systemd-resolved
4026532290 user        1 134689 ubuntu           /usr/bin/podman
4026532291 mnt         1 134689 ubuntu           /usr/bin/podman
4026532292 mnt         1   5369 root             /usr/libexec/upowerd
4026532293 user        1   5369 root             /usr/libexec/upowerd
4026532295 mnt         2 134974 root             unshare --fork --pid --mount-proc /bin/bash
4026532296 pid         2 134975 root             /bin/bash
4026532297 mnt         2 134981 root             unshare --fork --pid --mount-proc /bin/zsh
4026532298 pid         1 134982 root             /bin/zsh
4026532345 uts         1    655 root             /lib/systemd/systemd-logind
4026532346 mnt         1    631 root             /usr/sbin/irqbalance --foreground
4026532347 mnt         1    655 root             /lib/systemd/systemd-logind
4026532348 mnt         1    678 root             /usr/sbin/ModemManager
ubuntu@ubuntu:~$

Além disso, o nome do processo init do sistema Ubuntu é diferente: systemdvs /sbin/init. Qual é o motivo disso? Obrigado.

systemd
  • 1 respostas
  • 30 Views
Prev
Próximo

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