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-119404

Freedo's questions

Martin Hope
Freedo
Asked: 2023-10-17 15:19:33 +0800 CST

Exclua todos os arquivos e pastas que não estão em uma lista

  • 5

Dado um arquivo de texto contendo caminhos que desejo manter como:

/mnt/cache/vfs/cf/A/file
/mnt/cache/vfs/cf/B/file2

E quero limpar todo o resto, /mnt/cache/vfs/cfa menos que esteja no meu arquivo de texto

Então /mnt/cache/vfs/cf/Z/file3é excluído, etc.

O arquivo de texto é enorme e possui nomes de arquivos com espaços e possíveis acentos ou outros caracteres especiais

bash
  • 3 respostas
  • 104 Views
Martin Hope
Freedo
Asked: 2021-09-30 10:37:20 +0800 CST

Como usar o systemd depois com serviços que usam @

  • 2

Estou tentando fazer meu serviço systemd iniciar APÓS o wireguard, mas não sei como fazer isso porque o wireguard usa esse formato systemd @.

find /etc -name *wg-quick*                                                                                                                                                                                               
/etc/systemd/system/multi-user.target.wants/[email protected] 

O que eu uso na minha seção posterior do systemd?

systemd
  • 1 respostas
  • 226 Views
Martin Hope
Freedo
Asked: 2020-02-15 01:52:24 +0800 CST

Forçar o putty a usar o botão direito do mouse para colar, no linux

  • 5

Existe uma maneira de forçar puttya colar com o botão direito do mouse, no Zorin OS (baseado no Ubuntu).

Eu gosto do comportamento do Windows, onde as coisas selecionadas são coladas, quando o botão direito é pressionado.

keyboard-shortcuts putty
  • 6 respostas
  • 5328 Views
Martin Hope
Freedo
Asked: 2020-01-07 00:37:23 +0800 CST

Criar arquivo expandindo uma variável, mas não outra

  • 0

Eu quero criar um arquivo a partir de um script bash. Mas preciso expandir algumas variáveis ​​e imprimir outras literalmente isso é possível?

cat <<EOF >  file.sh
$EXPAND
$PRINTLITERALLY
EOF

Também estou tentando criar um arquivo muito grande, quando tento colá-lo no meu terminal para testar recebo erros como:

-bash: urlencode: command not found

Então parece que eu posso ter coisas lá que o bash está interpretando, isso afetará meu script bash ao executá-lo? Eu sinto que deve haver uma maneira melhor de criar arquivos dos meus scripts bash

shell-script cat
  • 1 respostas
  • 267 Views
Martin Hope
Freedo
Asked: 2020-01-04 02:43:10 +0800 CST

jq anexar dados e manter o resto

  • 3

Estou tentando adicionar um valor ao array com jq e manter o restante do conteúdo:

   "access":{
      "allowed_users":[
         "admin",
         "test",
      ],

O acima é o que eu quero anexar. Se eu usá jq '.access.allowed_users + [ "test2" ]'-lo, adicionará uma nova entrada lá, mas o restante do arquivo será perdido, então não posso recriar o arquivo de configuração novamente.

jq
  • 1 respostas
  • 14999 Views
Martin Hope
Freedo
Asked: 2019-12-01 23:49:02 +0800 CST

Criando arquivos de configuração nginx com script e expansão de variável

  • 1

Estou tentando criar um arquivo de configuração nginx usando uma here-documentexpansão variável. Eu uso:

cat <<EOF > /etc/nginx/nginx.conf
settings
EOF

Funciona e expande as variáveis ​​que preciso, mas tem variáveis ​​que precisam ser impressas literalmente, então está quebrando meu arquivo de configuração.

Exemplo de linhas que preciso imprimir literalmente:

limit_req_zone $binary_remote_addr zone=one:30m rate=20r/s;
try_files $uri =404;

Como faço para corrigir esse problema?

bash shell-script
  • 1 respostas
  • 901 Views
Martin Hope
Freedo
Asked: 2019-11-04 22:53:00 +0800 CST

Como usar pipes e stdin com comandos que usam - caracteres [duplicados]

  • 0
Essa pergunta já tem respostas aqui :
Usando dados lidos de um pipe em vez de um arquivo nas opções de comando (5 respostas)
Como passar uma string para um comando que espera um arquivo? [duplicado] (4 respostas)
Fechado há 2 anos .

Estou tentando enrolar um arquivo txt e canalizá-lo para pip.

Exemplo:

curl -s URL | pip install -r -

Não funciona porque o último -não é a saída do curl como eu esperaria. Muitas vezes tenho esse problema com outros comandos também.

Como corrigir isso com o bash?

bash
  • 1 respostas
  • 782 Views
Martin Hope
Freedo
Asked: 2019-08-08 23:43:43 +0800 CST

Como testar se um arquivo verifica no servidor remoto com ssh e instrução if

  • 2

Estou tentando testar se $SSHPATH/$ID.*existe um arquivo. Estou usando sshpasspara fornecer uma senha para não precisar digitar.

Eu quero executar um código se o arquivo não existir

if [ "sshpass -p $SSHPASS ssh root@$SSHHOST test ! -f $SSHPATH/$ID.*" ]; then

Isso parece retornar true mesmo se o arquivo existir no servidor remoto. Por quê?

Eu não acho que seja uma duplicata de Como fazer algo condicionalmente se um comando foi bem-sucedido ou falhou porque isso também não funciona, não foi executado se o arquivo não existir

if sshpass -p "$SSHPASS" ssh "root@$SSHHOST" test ! -f "$SSHPATH/$ID.*"; then
bash shell-script
  • 2 respostas
  • 2532 Views
Martin Hope
Freedo
Asked: 2019-07-05 23:12:12 +0800 CST

Substituição de string bash sem distinção entre maiúsculas e minúsculas

  • 1

Estou tentando fazer um script que irá mesclar duas legendas.

file.srt
file.forced.srt
file2.srt
file2.Forced.srt

Eu tenho um case insensitive para combinar as duas legendas forçadas.

shopt -s extglob
shopt -s nocaseglob

for file in "${1%/}/"*forced.srt; do
   echo File: "$file"
done

Eu tenho esse código para remover a string forçada do nome do arquivo, então recebo o arquivo correspondente para usar no meu script

subs=${file//.Forced/}

Como posso remover essa string forcedda minha variável, não diferencia maiúsculas de minúsculas?

bash shell-script
  • 1 respostas
  • 1677 Views
Martin Hope
Freedo
Asked: 2019-04-22 20:22:45 +0800 CST

wget --spider falha com 404, mas funciona sem --spider

  • 1

Estou tentando fazer uma verificação de integridade em um contêiner docker. Encontrei este comando:

wget --quiet --tries=1 --spider http://localhost:6077 || exit 1

O problema é que enquanto o container está rodando, se eu rodar wget sem --spider eu recebo um código HTTP 200, mas se usar --spider ele retorna um 404.

Por que isso pode estar acontecendo?

$ wget --tries=1  http://localhost:6077
--2019-04-22 04:20:12--  http://localhost:6077/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:6077... connected.
HTTP request sent, awaiting response... 200 OK
Length: 436 [application/xml]
Saving to: ‘index.html.1’


$ wget --tries=1 --spider  http://localhost:6077
Spider mode enabled. Check if remote file exists.
--2019-04-22 04:21:46--  http://localhost:6077/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:6077... connected.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!

Esse comportamento estranho está quebrando minha verificação de integridade, se eu não usar --spider, suponho que o wget tentará baixar o index.html em algum lugar, certo?

wget
  • 2 respostas
  • 2364 Views
Martin Hope
Freedo
Asked: 2019-04-03 02:48:38 +0800 CST

Tar não está extraindo para outro diretório com -C

  • 1

Estou tentando baixar o ffmpeg mais recente daqui e extrair o arquivo ffmpeg, /usr/binmas não importa o que eu faça, não consigo fazer o arquivo ir para lá!

Meu comando para baixar e extrair o arquivo

wget -q https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz -P /tmp

tar -xf /tmp/ffmpeg-release-amd64-static.tar.xz  --no-anchored 'ffmpeg' -C /usr/bin/ --strip-components=1

Obs: quero apenas o arquivo lá, não pastas!

O que estou fazendo errado?

tar
  • 1 respostas
  • 96 Views
Martin Hope
Freedo
Asked: 2019-03-26 01:13:52 +0800 CST

Encontrar falha se o nome do arquivo contiver colchetes

  • 2

Estou tentando usar find dentro de um loop para criar uma variável que contém um arquivo correspondente ao nome do arquivo + string desejada

Exemplo:

file1.en.srt
file1.mkv
file1.pt.srt

Esta é a parte relevante do código:

shopt -s nullglob
shopt -s nocaseglob

if [ -d "$1" ]; then
    for file in "${1%/}/"*mkv; do
        # Get filename to match against subs and audios
        filename="$(basename "$file" .mkv)"

        # Find matching subtitle file
        engsubs="$(find . -name "$filename*en.srt*" | sed -e 's,^\./,,')"   

        # Find matching audio file
        engaudio="$(find . -iname "$filename*en.ac3" -o -iname "$filename*en.eac3" -o -iname "$filename*en.dts" | sed -e 's,^\./,,')" 
    done
fi

Funciona se os arquivos não contiverem colchetes, mas os findcomandos não encontrarem nada para arquivos cujos nomes contenham colchetes. Porque isso está acontecendo? Eu quero criar uma variável como $enessa conteriafile1.en.srt

bash shell-script
  • 1 respostas
  • 2007 Views
Martin Hope
Freedo
Asked: 2018-11-03 15:24:35 +0800 CST

genisoimage dobra o tamanho da pasta

  • 1

Eu tenho uma pasta com ~ 22k subpastas nela, e cada subpasta pode ter mais subpastas, até uma profundidade de ~ 7.

Então eu queria torná-lo um único arquivo, mas não um arquivo rar ou similar, porque descompactá-lo pode levar muito tempo. Eu queria um .iso porque eu poderia montá-lo e acessar apenas o que eu preciso, sem precisar extrair tudo.

eu usei esse comandogenisoimage --iso-level 4 -o folder.iso "folder"

O tamanho da pasta era de 21,7 GB, mas depois de transformá-la em iso fica com 43,2 GB? Isso é esperado?

iso mkisofs
  • 3 respostas
  • 1203 Views
Martin Hope
Freedo
Asked: 2018-06-28 23:37:55 +0800 CST

Compile mkclean no Ubuntu 16.04

  • -1

Estou lutando para compilar o mkclean no Ubuntu 16.04.

Eu baixo o arquivo e extraio, mas quando executo ./configure, recebo isso:

./configure: 2: ./configure: %%BEGIN: not found
./configure: 3: ./configure: SCRIPT: not found
./configure: 4: ./configure: %%END: not found
make: *** corec/tools/coremake: No such file or directory.  Stop.
mv: cannot stat 'corec/tools/coremake/coremake': No such file or directory
./configure: 1: ./configure: corec/tools/coremake/system_output.sh: not found
Running ./coremake
./configure: 11: ./configure: ./coremake: not found
Now you can run make -C %(PROJECT_NAME) or gmake -C %(PROJECT_NAME)

Qualquer ajuda? Eu só consigo encontrar resultados antigos e eles não funcionam

compiling
  • 1 respostas
  • 632 Views
Martin Hope
Freedo
Asked: 2018-04-04 09:28:42 +0800 CST

As maiúsculas e minúsculas aceitam caracteres vazios ou específicos

  • 0

Fazendo algum processamento de mídia aqui:

case "$3" in
all)
  :
  ;;
[a-z][a-z][a-z])
  if [ "$2" == "subtitles" ]; then switches="$switches -s $3"
  if [ "$2" == "audio" ]; then switches="$switches -a $3"
  ;;
*)
  printf 'Invalid language code for language (should be 3-letter ISO-639 or "all"): %s\n' "$2"
  exit 1
  ;;
esac

Isso é para garantir que $3haja allou 3 letras entre az. Meu problema é que *meu comando falha se $3estiver vazio. Se eu removê-lo, posso continuar, mas não posso ter certeza de que $3há allou 3 letras entre az.

Como posso corrigir esse problema?

bash shell-script
  • 1 respostas
  • 30 Views
Martin Hope
Freedo
Asked: 2018-01-20 06:31:07 +0800 CST

A declaração de caso permite apenas caracteres alfabéticos?

  • 2
case "$1" in
all)
  echo "$1"
  ;;
[a-z][a-z][a-z][a-z][a-z][a-z])
  echo "$1"
  ;;
*)
  printf 'Invalid: %s\n' "$3"
  exit 1
  ;;
esac

Com isso, a única entrada aceita é tudo e 6 caracteres. Não aceitará 4 caracteres ou mais de 6.

O que quero fazer aqui é permitir apenas caracteres, não dígitos ou símbolos, mas de comprimento ilimitado.

Qual é a sintaxe correta? Obrigado

bash case
  • 3 respostas
  • 4464 Views
Martin Hope
Freedo
Asked: 2018-01-19 21:33:54 +0800 CST

Símbolos estranhos na tela ao usar o grep?

  • 12

./trans ... saída do comando mostrando os códigos de escape

Alguma ideia do que poderia estar causando isso? Sem usar o grep, as únicas coisas exibidas são os códigos ISO e o espaço vazio.

Software usado

Comando:./trans --id --input /path/to/txt | grep ISO | grep [a-z]

root@box /test # alias grep
alias grep='grep --color=auto'
root@box /test # type grep
grep is aliased to `grep --color=auto'

Saída normal:

saída do comando trans com texto legível e URLs

grep terminal
  • 1 respostas
  • 2797 Views
Martin Hope
Freedo
Asked: 2018-01-16 00:50:54 +0800 CST

Expressão regular que corresponde aos códigos de idioma no bash

  • 0

Existe uma questão semelhante em stackoverflow , mas não funciona com o bash.

O que é necessário para fazê-lo funcionar com bash, para usar com scripts/variáveis?

Estou falando dos códigos ISO 639-1 ou ISO 639-2.

Meu bash é GNU 4.3.

Exemplo:

root@box ~/test2 # ls
eng  en-US  por pt-BR

O regex nessas páginas falha:

root@box ~/test2 # ls | grep ^[a-z]{2}-[A-Z]{2}$
root@box ~/test2 # ls | grep ^[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*$
-bash: syntax error near unexpected token `('
root@box ~/test2 # ls | grep ^[a-z]{2}(-[A-Z]{2})*
-bash: syntax error near unexpected token `('
root@box ~/test2 # ls | grep "^[a-z]{2}(-[A-Z]{2})*"
bash shell-script
  • 3 respostas
  • 1553 Views
Martin Hope
Freedo
Asked: 2018-01-07 20:06:28 +0800 CST

Corrige o script bash esperando a entrada do caminho com / no final quebrando quando o caminho não termina com /

  • 4

Eu tenho este código:

for file in "$@"*png; do
  echo "$file"
done

Funciona apenas se você fornecer um caminho que termine com /like /root/.

Qual seria a forma correta de adicionar/ao input do caminho, em situações como essa, sem quebrar meu script?

Se você der uma entrada de caminho sem / no final, ele fará isso:

File: /root*png

Se eu modificá-lo para ser for file in "$@"/*png; doe inserir /root/test/, funcionará, mas o resultado parecerá feio:

File: /root/test//sample2.png
bash
  • 3 respostas
  • 318 Views
Martin Hope
Freedo
Asked: 2018-01-06 19:29:21 +0800 CST

Como recuperar canais de áudio, taxa de bits e outras medições de qualidade para um determinado ID de faixa

  • 1

Eu tenho este código:

track1=$(mkvmerge -I sample.mkv | sed -ne '/^Track ID [0-9]*: audio ([^)]*).* language:eng.*/ { s/^[^0-9]*\([0-9]*\):.*/\1/;H }; $ { g;s/[^0-9]/,/g;s/^,//;p }' | cut -c1)

Ele recuperará a 1 faixa correspondente ao idioma inglês.

Eu quero fazer um script para comparar entre as faixas de áudio do mesmo idioma e encontrar aquela com a maior qualidade.

Mas mkvinfo, mkvmergee mediainfonão parece ser capaz de recuperar as informações sobre um determinado ID de faixa, e não sei como analisar sua saída completa para recuperar apenas o que preciso.

Como fazer isso? Preciso recuperar tudo o que pode ser necessário para adivinhar a qualidade, como formato, taxa de bits, número de canais, tamanho e armazená-lo em uma variável como track1channels.

Estou aberto a outras soluções que resolvam esse difícil problema.

shell-script audio
  • 1 respostas
  • 1291 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