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

kenorb's questions

Martin Hope
kenorb
Asked: 2018-04-13 15:07:43 +0800 CST

Oposto de \K, para manter as coisas certas [duplicado]

  • 11
Esta pergunta já tem respostas aqui :
O grep pode produzir apenas agrupamentos especificados que correspondam? (8 respostas)
Fechado há 4 anos .

Na perlrepágina de padrões estendidos, podemos ler sobre \K:

Mantenha o que sobrou do \K, não o inclua em $&

Aqui está o exemplo prático usando GNU grep(que na verdade mantém as coisas certas do \K):

$ echo "foo bar buzz" | grep -Po "foo \Kbar buzz"
bar buzz

Existe alguma sequência oposta de \K?

Por exemplo, para imprimir apenas bar, como:

$ echo "foo bar buzz" | grep -Po "foo \Kbar\X buzz"
bar
grep regular-expression
  • 1 respostas
  • 8017 Views
Martin Hope
kenorb
Asked: 2018-03-03 03:12:12 +0800 CST

Como encontrar linhas com valores diferentes na 5ª coluna que compartilham a mesma 2ª coluna?

  • 1

Eu tenho um seguinte file.log:

2018.03.02 R:123-123 [Debug] Parameters AAA ...
2018.03.02 R:123-124 [Debug] Parameters BBB ...
2018.03.02 R:123-125 [Debug] Parameters CCC ...
2018.03.02 R:123-126 [Debug] Parameters DDD ...
2018.03.02 R:123-126 [Debug] Parameters EEE ...
2018.03.02 R:123-456 [Debug] Parameters XXX ...
2018.03.02 R:123-456 [Debug] Parameters YYY ...
2018.03.02 R:456-456 [Debug] Parameters ZZZ ...
2018.03.02 R:123-123 [Debug] Parameters XYZ ...

em que estou interessado principalmente em leitura $2e $5colunas.

Eu gostaria de encontrar todos os valores da 5ª coluna que são diferentes para o mesmo valor da 2ª coluna.

Aqui está o que eu tenho:

$ awk '{print $5" "$2}' file.log | uniq -s3 -c | sort -nr | grep -vw 1
      2 XXX R:123-456
      2 DDD R:123-126

mas estou procurando uma maneira mais eficiente com menos canais, idealmente usando Bash e Awk como script ou na linha de comando.

A saída pode ser semelhante ou pode imprimir as linhas inteiras também. O problema com a saída acima é que ela não exibe todas as ocorrências para a 2ª coluna fornecida. Além disso, a última linha não é considerada na conta ( XYZ).

Também posso escrever o seguinte no Bash :

$ grep -f <(awk '{print $5" "$2}' file.log | uniq -s3 -c | sort -nr | grep -vw 1 | awk '{print $3}') file.log
2018.03.02 R:123-126 [Debug] Parameters DDD ...
2018.03.02 R:123-126 [Debug] Parameters EEE ...
2018.03.02 R:123-456 [Debug] Parameters XXX ...
2018.03.02 R:123-456 [Debug] Parameters YYY ...

mas o comando não imprime linhas com R:123-123, em segundo lugar, não é eficiente para arquivos maiores.

Os resultados válidos e esperados são:

  • Linhas com R:123-123, porque recebem dois parâmetros diferentes: AAA, XYZ.
  • Linhas com R:123-126, porque recebem dois parâmetros diferentes: DDD, EEE.
  • Linhas com R:123-456, porque recebem dois parâmetros diferentes: XXX, YYY.

Como isso pode ser alcançado de forma mais eficiente?

bash shell-script
  • 1 respostas
  • 560 Views
Martin Hope
kenorb
Asked: 2018-03-02 14:42:22 +0800 CST

Como converter argumentos de shell dinâmicos em consulta de URI?

  • 2

Eu tenho o seguinte script de shell:

#!/usr/bin/env bash
PARAMS=( arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 )
[ $# -lt ${#PARAMS[@]} ] && { echo "Usage: $0 ${PARAMS[@]}"; exit 1; }
DATA=$(printf "%s=%s&" ${PARAMS[@]} $@)
echo curl "http://example.com/api/?${DATA%?}"

que visa pegar n -número de parâmetros e associá-los a valores lidos dos argumentos.

Então quando eu corro:

./curl_params.sh 1 2 3 4 5 6 7 8 9

Espero que o formato seja:

curl http://example.com/api/?arg1=1&arg2=2&arg3=3&arg4=4&arg5=5&arg6=6&arg7=7&arg8=8&arg9=9

mas em vez disso, eu tenho:

curl http://example.com/api/?arg1=arg2&arg3=arg4&arg5=arg6&arg7=arg8&arg9=1&2=3&4=5&6=7&8=9

Entendo que preciso combinar ${PARAMS[@]}com $@, então os valores são mesclados.

Existe alguma sintaxe Bash que eu possa usar para transpor/mapear os nomes dos argumentos com os valores correspondentes?

Para esclarecer, os nomes dos argumentos podem mudar.

bash shell-script
  • 2 respostas
  • 587 Views
Martin Hope
kenorb
Asked: 2018-02-26 13:34:16 +0800 CST

Como fazer o encaminhamento de porta SSH para HTTPS?

  • 10

Eu criei o seguinte encaminhamento de porta:

ssh -vL localhost:4433:example.com:443 remote-linux-host

Nota: estou usando 4433no meu local em vez de 443evitar executar com sudo.

no entanto, quando vou para https://localhost:4433/, após ignorar a verificação do certificado, ocorre o seguinte erro (tanto no Chrome quanto no Firefox):

404 não encontrado

O mesmo ao usar curl:

$ curl -s https://localhost:4433/ | html2text
<?xml version="1.0" encoding="iso-8859-1"?>
****** 404 - Not Found ******

Como faço o encaminhamento de porta para HTTPS?

Meu objetivo é abrir https://example.com/(o que funciona bem em HTTPS) no meu local (porta 4433) via servidor remoto.

ssh port-forwarding
  • 2 respostas
  • 19054 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