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

user447274's questions

Martin Hope
user447274
Asked: 2025-04-06 10:25:39 +0800 CST

Como posso escolher itens aleatórios de uma lista, alguns com mais frequência do que outros, em um arquivo de configuração do Bash?

  • -2

No Linux, usando Bash, tenho dois scripts:

  1. script.shé o roteiro principal, e
  2. script_config.shé a configuração para script.sh.

Em script.sh, eu source script_config.shcarrego todas as configurações de lá.

Em script_config.sh, eu faço coisas como:

TEMPDIR=/mnt/sda1/temp

Não sei se essa é a melhor maneira, mas para mim está tudo bem, tenho a configuração em um arquivo separado e posso carregá-la no script principal.

Em uma versão antiga do script.sh, eu costumava shufler um arquivo ( cipher_to_use.txt) para obter uma entrada aleatória sobre qual cifra usar com cryptsetup.

Em cipher_to_use.txt, há apenas 6 cifras diferentes listadas, mas algumas linhas aparecem até 10 vezes, então shufas escolhi com mais frequência, mas ainda aleatoriamente. Isso funciona bem para mim.

Mas agora, com script_config.sh, estou procurando uma maneira de continuar essa abordagem,
mas não quero escrever as 6 cifras mais de uma vez em script_config.sh.

Como posso usar cifras diferentes com shuf, mas fazer com que algumas apareçam com mais frequência do que outras, enquanto listo cada cifra apenas uma vez em script_config.sh?

:editar

Obrigado nbanana pelas suas ideias, mas há alguma maneira de fazer algo um pouco diferente do seu jeito?

se eu escrever aqui script_config.sh:

(chk = cifra tem chave)

chk1_name_="--cipher aes-cbc-essiv:sha256      --hash sha512  --key-size 256"
chk1_weigt="15"

chk2_name_="--cipher serpent-cbc-essiv:sha256  --hash sha512  --key-size 256"
chk2_weigt="1"

chk3_name_="--cipher twofish-cbc-essiv:sha256  --hash sha512  --key-size 256"
chk3_weigt="1"

chk4_name_="--cipher aes-xts-plain64           --hash sha512  --key-size 512"
chk4_weigt="4"

chk5_name_="--cipher serpent-xts-plain64       --hash sha512  --key-size 512"
chk5_weigt="1"

chk6_name_="--cipher twofish-xts-plain64       --hash sha512  --key-size 512"
chk6_weigt="1"

o que devo adicionar script.shpara se tornar um ciphers_has_key_listarquivo -

com 15 vezes no chk1, 1 chk2 e assim por diante...?

e se o chk6 não existir mais?

e se houver um chk7 e um chk8?

linux
  • 2 respostas
  • 84 Views
Martin Hope
user447274
Asked: 2025-04-05 05:38:33 +0800 CST

Listar e contar cifras usadas pelo cryptsetup em dispositivos /dev/mapper

  • 5

No meu computador Linux tenho /dev/mapper/muitos arquivos chamados file1, file2, file3.... .

Agora terei uma visão geral dos arquivos sobre qual cifra é usada com que frequência.

Eu tentei isso

for i in /dev/mapper/file* ; do cryptsetup status $i | grep cipher ; done | sort

e se tornar esta saída

  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-cbc-essiv:sha256
  cipher:  aes-xts-plain64
  cipher:  aes-xts-plain64
  cipher:  aes-xts-plain64
  cipher:  serpent-xts-plain64
  cipher:  serpent-xts-plain64

mas estou procurando uma saída como esta:

13x  cipher:  aes-cbc-essiv:sha256
 3x  cipher:  aes-xts-plain64
 2x  cipher:  serpent-xts-plain64

e adicionalmente uma saída como esta:

file1  use cipher aes-xts-plain64
file2  use cipher serpent-xts-plain64
....
file13 use cipher aes-xts-plain64
linux
  • 2 respostas
  • 75 Views
Martin Hope
user447274
Asked: 2025-03-22 04:38:33 +0800 CST

Renomear arquivos, remover os quatro primeiros sinais [duplicado]

  • 2
Esta pergunta já tem respostas aqui :
Renomear em massa, alterar prefixo (9 respostas)
Renomeação de arquivos em lote (14 respostas)
Remover prefixos de nomes de arquivos (2 respostas)
Renomear arquivos em massa dentro de uma subpasta, removendo o prefixo (3 respostas)
Fechado há 3 dias .

Existem muitos arquivos neste formato:

IMG_20240717_191421.jpg
IMG_20240620_165358_BURST001_COVER.jpg
IMG_20240624_173513_2.jpg

como eles podem ser renomeados no Linux em Bash para:

20240717_191421.jpg
20240620_165358_BURST001_COVER.jpg
20240624_173513_2.jpg

IMG_é isso que deve ser removido.

linux
  • 1 respostas
  • 47 Views
Martin Hope
user447274
Asked: 2025-03-20 12:55:28 +0800 CST

Mover/marcar arquivos e a parte associada também

  • 5

Há uma pasta com muitos arquivos:

112.mkv
123.md5
123.mkv
221.mkv
467.mkv
aa1.mkv
abc.md5
abc.mkv
bbc.mkv
dde.md5
dde.mkv
ggh.mkv
....
xxy.md5
xxy.mkv
xxz.mkv

Como posso mover .md5arquivos e os .mkvarquivos associados para um novo diretório (usando Bash)?

123.md5
123.mkv

abc.md5
abc.mkv

dde.md5
dde.mkv

xxy.md5
xxy.mkv

Quero mover esses arquivos para um novo diretório, como mkvandmd5/.

Como alternativa, há alguma dica no Midnight Commander para marcar esses arquivos .md5e os associados .mkv?

bash
  • 5 respostas
  • 125 Views
Martin Hope
user447274
Asked: 2024-11-18 13:00:40 +0800 CST

Como escrever no Linux em Bash em shellscript uma parte que pode fazer algo assim

  • 1

Como escrever no Linux em Bash em shellscript uma parte que pode fazer algo assim

digite um número

deve estar em um intervalo de 4-999

caso contrário, peça novamente para entrar

número inserido * 5 * número aleatório [1-9] (um dígito)

exibir o resultado e perguntar se está bom

enter - para nova execução (número digitado * 5 * número aleatório [0-9] (dígito único))

y - para sim, ok, continue no script

n - volte ao ponto para "digitar um número" novamente

e - para sair do script


eu sei que com o comando "read" há um prompt para digitar algo e eu sei que with cat /dev/urandom | tr -cd '0-9' | head -c 1deve se tornar um único dígito aleatório

linux
  • 2 respostas
  • 103 Views
Martin Hope
user447274
Asked: 2024-11-04 13:37:27 +0800 CST

Substitui a string de prefixo das linhas em um arquivo e coloca em uma matriz bash

  • 7

No arquivo groupAfiles.txtestão as linhas:

file14
file2
file4
file9

Preciso de uma maneira de convertê-los para remover filee adicionar /dev/loope colocá-los todos em uma linha com um espaço entre eles.

/dev/loop14 /dev/loop2 /dev/loop4 /dev/loop9

Então preciso colocar isso em uma matriz.

(mas os números mudam)

Como faço isso?

bash
  • 3 respostas
  • 307 Views
Martin Hope
user447274
Asked: 2024-11-04 11:38:36 +0800 CST

Formatar saída e colunas

  • 5

No Linux em Bash em um loop for eu faço:

... ; do echo "$i --> $i-new" ; ...

A saída é algo como isto:

file1  -->  file1-new
file2  -->  file2-new
...
file9  -->  file9-new
file10  -->  file10-new
file11  -->  file11-new

como se tornar uma saída como esta:

file1   -->   file1-new
file2   -->   file2-new
...
file9   -->   file9-new
file10  -->  file10-new
file11  -->  file11-new

?

linux
  • 1 respostas
  • 18 Views
Martin Hope
user447274
Asked: 2024-11-03 14:39:04 +0800 CST

Como adicionar string em uma posição específica em cada linha

  • 3

Com

awk '{ printf "%-15s %s\n", $1, $2 }' renamed | sort -V

... Obtenho uma boa saída do arquivo renamed.

Parece que:

file1           file1.new

Mas eu quero que a saída seja alterada para isto:

file1           -->  file1.new

Quero adicionar --> na posição 15 em cada linha.

Como fazer isso?

awk
  • 2 respostas
  • 64 Views
Martin Hope
user447274
Asked: 2024-10-22 12:11:27 +0800 CST

Como abrir um arquivo indexado .tar.xz com o Midnight Commander?

  • 8

tar -I pixz -cf foo.tar.xz ./foocomprimir o material.

tar -I pixz -xf foo.tar.xzdescompacte o Stuff.

E com ele pixz -l foo.tar.xzvem uma lista do conteúdo.

Como posso fazer isso com ( mc) Midnight Commander?

Se eu selecionar foo.tar.xze mcpressionar Enter, não aparece nada.

O uso da CPU fica alto por um momento, mas nada acontece, nenhum erro.

Normalmente mcé possível abrir arquivos compactados assim?

Como posso mcabrir e navegar em um .tar.xzarquivo indexado?

tar
  • 1 respostas
  • 204 Views
Martin Hope
user447274
Asked: 2024-10-18 16:34:08 +0800 CST

O teste de compressão btrfs é executado sem gravar no disco

  • 5

Estou pensando em mudar o sistema de arquivos na minha unidade de dados de ext4 para btrfs porque o btrfs pode fazer compactação e o espaço de armazenamento acabará em algum momento.

Vi que o btrfs pode fazer compressão com zlib, lzo e zstd.

https://btrfs.readthedocs.io/en/latest/Compression.html

Como posso fazer alguns testes para ver como a compressão pode ser realizada?

Existe alguma maneira de gravar os dados em /dev/null ou algo assim e contar os bytes pelos quais eles passam lá?

Como posso fazer alguns testes com os diferentes compressores (zlib, lzo e zstd) sem escrever, mas observando o quanto pode ser comprimido?

btrfs
  • 1 respostas
  • 46 Views
Martin Hope
user447274
Asked: 2024-10-11 03:29:34 +0800 CST

Como imprimir o argumento processado após cada invocação de comando com xargs

  • 5

Eu executo este comando:

ls -1 | xargs -I% -n1 -P8 myprogramm -s1 -r5 -q -o %.dat %

ele funciona com 8 execuções ao mesmo tempo, a -qopção no meu programa para sair, está ok, então.

mas adicionarei algo assim ; echo %para se tornar o nome de saída na tela se a execução do programa for concluída, para cada execução.

Eu executo este comando:

ls -1 | xargs -I% -n1 -P8 myprogramm -s1 -r5 -q -o %.dat % ; echo %

Não vejo erros, mas a saída não é o que eu queria.

vejo que depois que todas as execuções são concluídas no bash, apenas uma nova linha com apenas um sinal,%

mas terei a saída como:

file1
file2
file3
...

%= fileN é que com xargs roda os jobs, como fica essa saída?

bash
  • 2 respostas
  • 23 Views
Martin Hope
user447274
Asked: 2024-10-10 21:28:50 +0800 CST

como verificar se o caminho de onde o script foi iniciado está armazenado em uma unidade de disco rígido ou SSD?

  • 8

como verificar se o caminho de onde o script foi iniciado está armazenado em uma unidade de disco rígido ou SSD?

Eu li esse cat /sys/block/sda/queue/rotationalprograma 0para SSD e 1HDD.

if [ "$(</sys/block/sda/queue/rotational)" = 0 ]; then
    echo "SSD"
else
    echo "HDD"
fi

mas como isso pode ser combinado com .ou $PWDpara verificação?

bash
  • 1 respostas
  • 99 Views
Martin Hope
user447274
Asked: 2024-10-10 19:22:11 +0800 CST

escolheu arquivos aleatoriamente e colocou os nomes em arquivos de texto

  • 4

em uma pasta há arquivos de file1para fileX. X é para às vezes vai de file1para file21. e às vezes vai de file1para file55. como executar um script ou uma linha para criar 4 grupos (AD) / 4 listas, filegroupA.txt filegroupB.txt filegroupB.txt filegroupD.txt mas os nomes dos arquivos devem ser escolhidos aleatoriamente e não classificados nos arquivos .txt

filegroupA.txt

file2
file18
file7
file13
file4
...

filegroupB.txt

...

editar:

os nomes não possuem caracteres especiais.

eles estão todos com o mesmo esquema, fileX e fileXX.

não há subdiretórios também.

a saída mínima para um arquivo filegroupX deve ser 4.

nunca há menos de 20 arquivos fileXX.

a rotulagem AD em letras maiúsculas não é um requisito rigoroso, serve apenas para melhor leitura, mas não é um recurso obrigatório.

bash
  • 1 respostas
  • 53 Views
Martin Hope
user447274
Asked: 2024-10-10 12:31:11 +0800 CST

bash - verifica o espaço livre disponível em relação ao requerido

  • 5

No bash, executarei um script que dará uma olhada na pasta folder123/para saber quanto espaço é necessário para os arquivos que estão lá. Mas esse valor necessário será multiplicado 1,5e, em seguida, subtraído do espaço disponível. . Se houver espaço disponível suficiente, continuarei no script, mas se não houver, exibirei um erro.

para verificar quanto espaço é necessário, tento isso

du -b folder123/ | tail -n 1 | awk '{print $1}'

para verificar quanto espaço está disponível, eu descubro isso

df --output=avail -B 1 "$PWD" |tail -n 1

mas como multiplicar o requerido 1,5e depois subtrair do disponível, no script bash?

:editar

se eu usar algo como

avail=$(df --output=avail -B 1 . | tail -n 1)
req=$(( $(du -sb tempdir/ | cut -f1) * 3 / 2))
sum=$(printf '%d\n' "$((avail - req))")

mas como então verificar se $sum está ok?

bash
  • 1 respostas
  • 37 Views
Martin Hope
user447274
Asked: 2024-10-06 00:05:03 +0800 CST

Como sair de um shell se o subshell sair com um erro

  • 4

há um script, 1.sh. 1.shcomeça 1a.she então1b.sh

mas como sair de todos os scripts, como sair 1.she como não iniciar 1b.shse 1b.shquebrar com um erro?

bash
  • 1 respostas
  • 33 Views
Martin Hope
user447274
Asked: 2024-10-05 12:03:49 +0800 CST

Como encontrar arquivos de um determinado tamanho mínimo?

  • 7

Com find, verificarei se algum arquivo(s) com tamanho mínimo de 1 byte existe no diretório ine, caso contrário, sairei.

Eu tentei algo assim, mas não funciona

find ./in/ -type f -iname '*' -size 1c &> /dev/null
if [ "$?" != 0 ]
then
    echo file size is under 1 byte, aborting...
fi
scripting
  • 1 respostas
  • 134 Views
Martin Hope
user447274
Asked: 2024-10-03 03:41:38 +0800 CST

como processar uma sequência de itens N por vez

  • 8

Quero executar um comando N vezes em paralelo usando bash e xargs em um sistema Linux. O comando é:

for i in `seq 1 $(howmany.txt)`; do aprogramm --file file$i.dat ; done

O arquivo howmany.txtcontém o valor 100e ntimes.txtcontém o valor 5.

Os arquivos file1existem file100, em sequência de 1 a 100, e eu quero processá-los 5 de cada vez em paralelo. Como faço isso com xargs?

bash
  • 5 respostas
  • 255 Views
Martin Hope
user447274
Asked: 2024-09-28 05:56:58 +0800 CST

Como verificar quanto espaço está livre no diretório de trabalho atual?

  • 5

Como verificar quanto espaço está livre no diretório de trabalho atual em um sistema Linux?

Tenho um filesizearquivo que contém 1073741824a quantidade de espaço em disco em bytes necessária.

Preciso de algo para verificar em um script que na pasta estão contents-of-filesize * 1,25 bytes livres. Como fazer isso?

pwdpode imprimir o caminho da pasta atual, mas como combiná-lo com df?

linux
  • 1 respostas
  • 46 Views
Martin Hope
user447274
Asked: 2024-07-18 12:39:31 +0800 CST

junte um número específico de arquivos/dispositivos em modo linear em um sistema Linux

  • 5

Para juntar arquivos/dispositivos Linux em modo linear, eu tenho este script dm-joinlinear.shde

junte arquivos/dispositivos em modo linear em um sistema Linux , obrigado telcoM

#!/bin/sh
usage() {
    echo "Usage: ${0##*/} <target name> <component...>" >&2
    exit 64 # EX_USAGE
}
if [ "$1" = "" ] || [ "$1" = "-h" ] || [ "$1" = "-?" ] || [ "$1" = "--help" ]
then
    usage
fi

if [ -e "/dev/mapper/$1" ]
then
    echo "ERROR: target $1 already exists." >&2
    exit 73 # EX_CANTCREAT
fi
MAPNAME="$1"
shift

DMMAP=$(mktemp)
trap "rm -f $DMMAP" EXIT

sum=0
while [ "$1" != "" ]
do
    if [ ! -e "$1" ]
    then
        echo "ERROR: $1 does not exist"
        exit 66 # EX_NOINPUT
    fi
    if [ ! -b "$1" ]
    then
        echo "ERROR: $1 is not a block device"
        exit 69 # EX_UNAVAILABLE
    fi
    srcN="$1"
    sizeN=$(blockdev --getsz "$srcN")
    echo "$sum $sizeN linear $srcN 0" >>$DMMAP
    sum=$(expr $sum + $sizeN)
    shift
done
dmsetup create $MAPNAME < $DMMAP

eu executo o script com

./dm-joinlinear.sh one /dev/loop? /dev/loop??

ou

./dm-joinlinear.sh one /dev/mapper/file? /dev/mapper/file??
/dev/loop0 and /dev/mapper/file1 are the same
/dev/loop1 and /dev/mapper/file2 are the same
....
/dev/loop32 and /dev/mapper/file33 are the same

posso executar o script com

dm-joinlinear.sh one /dev/loop[0-9] /dev/loop[1-2]? /dev/loop3[0-2]

ou

dm-joinlinear.sh one /dev/loop0 /dev/loop1 /dev/loop2 .... and so on up to /dev/loop32 (to long to write all down here all)

ou o mesmo com remove "loop" e use mapper/file , mas começando em 1 e não em 0

eu prefiro o caminho com /dev/mapper/file em vez de /dev/loop

mas como posso dizer dm-joinlinear.shquantos dispositivos eles precisam ingressar? o valor está emparts.txt

linux
  • 1 respostas
  • 48 Views
Martin Hope
user447274
Asked: 2024-07-15 06:11:19 +0800 CST

Use fallocate com números de arquivo de texto

  • 5

Para teste eu crio no meu sistema Linux o arquivo list.txt. Nele existem números como:

4 1 5 2 3

(às vezes há mais ou menos números)

Como executo esses números com fallocate?

fallocate -l 1stnumberG file1
fallocate -l 2ndnumberG file2
fallocate -l 3rdnumberG file3
....

eu penso em algo como

declare -i counter ; counter=1 ; for i in "'seq 1 $(wc -w list.txt | cut -c 1)'" ; do fallocate -l ${i}G "file$counter" ; (( ++ counter )) ; done
fallocate: unerwartete Anzahl an Argumenten

declare -i counter ; counter=1 ; for i in "'seq 1 $(wc -w list.txt | cut -c 1)'" ; do fallocate -l ${i}G "file$counter" ; (( ++ counter )) ; done < $(cat list.txt) 
V: $(cat list.txt): Mehrdeutige Umlenkung.

mas eu não trabalhei....

linux
  • 1 respostas
  • 43 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