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

acgbox's questions

Martin Hope
acgbox
Asked: 2023-09-28 01:19:33 +0800 CST

Qual sinalizador devo usar para excluir tipos de arquivos da sincronização com o rclone?

  • 5

Tenho uma lista de tipos de arquivos a serem excluídos da sincronização. Mas, devido à sua natureza estranha, não sei qual bandeira é apropriada

arquivo exclude.txt

encryptable
Zone.identifier
.fuse_hidden*
goutputstream*
.spotlight-*
.fseventsd*
.ds_store*
~lock.*
Thumbs.db
attributes

comando:

rclone sync upload_local gdrive:upload --verbose --update --modify-window 1h --no-update-modtime --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s --stats-file-name-length 0 --exclude-from exclude.txt --log-file=rclone.log

ou você deve usar: "--exclude-regexp" ou "--filter-from"

PD: mas há algo muito estranho.

com --exclude-from exclude.txtisso não funciona

com --filter-from exclude.txtisso não funciona (colocar "-" no início da linha)

com --exclude *Zone.Identifier... não funciona

com --exclude *.fuse_hidden... funciona

com --exclude *Zone.identifier* --exclude *.fuse_hidden* --ignore-case... funciona

Atualização: funciona

Por fim, a lista funciona, desde que todas as linhas tenham curingas e como aponta @petitradisgris, --ignore-casefaltou

rclone
  • 1 respostas
  • 43 Views
Martin Hope
acgbox
Asked: 2023-03-28 08:16:00 +0800 CST

como parar o apache2 via kill -9

  • 5

Eu sei que o método normal para iniciar ou parar o apache2 no linux é:

sudo /etc/init.d/apache2 start|stop

Ou…

sudo service apache2 start|stop

Ou…

sudo systemctl start|stop apache2

Mas, em caso de emergência, quero parar os processos com o comando "kill". Para isso utilizo o seguinte comando para parar o PID:

for pid in $(ps -ef | grep -i '[a]pache*' | awk '{print $2}'); do kill -9 $pid &> /dev/null; done

fora

user@user:~$ ps -ef | grep -i '[a]pache*'
root      173437       1  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  173438  173437  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  173439  173437  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
user@user:~$ for pid in $(ps -ef | grep -i '[a]pache*' | awk '{print $2}'); do sudo kill -9 $pid &> /dev/null; done
user@user:~$ ps -ef | grep -i '[a]pache*'
root      174321       1  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  174322  174321  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  174323  174321  0 19:24 ?        00:00:00 /usr/sbin/apache2 -k start

... e novos PIDs apache2 são lançados

o que há de errado com esse comando?

obrigado

PD: Encontrei este comando neste site há muito tempo, mas não me lembro onde e, portanto, não posso fazer referência ao autor. Me desculpe por isso

linux
  • 1 respostas
  • 31 Views
Martin Hope
acgbox
Asked: 2022-10-28 09:33:16 +0800 CST

substituir saída variável em um lote de outro lote

  • 6

O usuário digita manualmente, em uma janela, os dados de entrada, que são armazenados em variáveis. Então o lote faz um "eco" das variáveis ​​que contém os dados que o usuário digitou (first.bat):

set source=%HOMEDRIVE%\test\data.txt
mydialogbox=%HOMEDRIVE%\test\myprogram_dialogbox.exe

SetLocal EnableDelayedExpansion

:: dialog box
for /f "tokens=1-3 delims=" %%i in ('%mydialogbox% --forms --title="Dialog" --text="Set Data" --add-entry="USER" --add-entry="PASSWORD" --add-entry="DBNAME" --separator=","') do (
  set line=%%i 
  echo(!line: =!> %source%
)
IF EXIST %source% (GOTO setdata) else (GOTO end)

:setdata
FOR /F "eol=; tokens=1-3 delims=," %%A IN (%source%) DO (
    set dbuser=%%A
    set dbpass=%%B
    set dbname=%%C
)
echo your imput: %dbuser% %dbpass% %dbname%

por exemplo:

your input: mydb zuckerberg dadada

Então eu preciso substituir esses valores (destas variáveis: %dbuser% %dbpass% %dbname%) em outro script (second.bat)

set dbname=foo
set dbuser=bar
set dbpass=blabla

saída esperada (a mudança não pode ser dinâmica, mas permanente):

set dbname=mydb
set dbuser=zuckerberg
set dbpass=dadada

como faço isso?

PS: No linux isso é fácil

sed -e "s:$dbuser:zuckerberg:g" second.bat

PS: Se o que estou perguntando não funcionar, existe uma maneira de usar a saída das %dbuser% %dbpass% %dbname%variáveis ​​de first.batdentrosecond.bat

obrigado

Atualizar:

  1. Estou usando o fart-it e funcionou:

first.bat:

fart.exe second.bat "zuckerberg" "%dbuser%"
fart.exe second.bat "dadada" "%dbpass%"
fart.exe second.bat "mydb" "%dbname%"

Mas tenho que executar 3 vezes o mesmo comando para cada substituição. E gostaria de saber se existe outra solução (.bat, .cmd) que não dependa de programas externos

  1. Outra solução é colocar a saída do "echo" nas variáveis ​​em second.bat:

first.bat:

echo your imput: %dbuser% %dbpass% %dbname%

second.bat:

FOR /F "tokens=*" %%g IN ('echo %dbuser%') do (SET myuser=%%g)
etc

mas isso não substitui permanentemente os valores das variáveis ​​do segundo script (que é o que eu quero).

  1. Outra solução é esta ( first.bat):
(for /f "tokens=1* delims=:" %%a in (%source%) do (
 if "%%b"=="" (echo %%a) else (
  echo %%a|find " id" >null&& echo %%a: ||echo %%a: %%b
 )
))>second.bat

Mas não consegui ajustá-lo aos meus interesses, pois ele reescreve a saída (não pesquisa e substitui as strings)

  1. Outra solução é com replacer.bat :
call replacer.bat "second.bat" "zuckerberg" "%dbuser%"

Tem os mesmos problemas que peido-it. Eu tenho que executar um comando para cada substituição (isso não é muito otimizado para o meu código) e dependeria de um script externo

command-line
  • 4 respostas
  • 97 Views
Martin Hope
acgbox
Asked: 2022-08-25 15:53:05 +0800 CST

Como detectar java por cmd, após instalá-lo, sem reiniciar o PC no Windows 10

  • 4

Quando instalo o Java, ao final da instalação, ele não detecta no meu sistema:

C:\Windows\system32>where java
INFO: No file could be found for the given patterns.

e

C:\Windows\system32>java -version
"java" is not recognized as an internal or external command,
executable program or batch file.

insira a descrição da imagem aqui

Somente, quando reinicio o PC, ele detecta

insira a descrição da imagem aqui

Pergunta: qual comando devo usar pelo cmd para detectar a presença do java instalado (qualquer versão), sem reiniciar o PC?

PD: testado no windows 10 pro x64 21h2

Atualizar:

Eu modifiquei a solução do Carsten.R :

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s /f *jre* >nul 2>&1 & IF %errorlevel% == 0 (echo OK) else (echo FAIL)
windows-10 command-line
  • 2 respostas
  • 65 Views
Martin Hope
acgbox
Asked: 2022-03-18 13:42:39 +0800 CST

como usar o expect no bash para automatizar a instalação

  • 5

Eu tenho um bash que responde às perguntas que o freefilesync faz durante a instalação, usando o expect:

#!/bin/bash
tar -xf FreeFileSync*.tar.gz
mv FreeFileSync*.run FreeFileSync.run >/dev/null 2>&1
chmod +x FreeFileSync.run

/usr/bin/expect << EOF
set timeout -1
log_user 0
spawn ./FreeFileSync.run --accept-license
log_user 1
expect -exact "\r
ENTER to begin installation: "
send -- "y\r"
expect -exact "https://freefilesync.org/donate\r
\r"
EOF

Costumava funcionar para mim . Agora não sei o que está errado. script para em:

ENTER to begin installation:

insira a descrição da imagem aqui

Modifiquei as seguintes linhas sem obter os resultados esperados:

expect -exact "\r
ENTER to begin installation: "
send "\r"

ou

expect -exact "\r
ENTER to begin installation: "
send -- "\r"

depuração (com /usr/bin/expect -d):

expect: does "\u001bc" (spawn_id exp4) match exact string "\r\nENTER to begin installation: "? no

FreeFileSync 11.18 Setup


expect: does "\u001bc\r\n\u001b[32m\u001b[7mFreeFileSync 11.18 Setup\u001b[0m\r\n\r\n" (spawn_id exp4) match exact string "\r\nENTER to begin installation: "? no
 1. Install for all users:    YES (requires root password)
 2. Installation directory:   /opt/FreeFileSync
 3. Create desktop shortcuts: NO
_____________________________
Press a number [1-3] to change settings,
ENTER to begin installation: 
expect: does "\u001bc\r\n\u001b[32m\u001b[7mFreeFileSync 11.18 Setup\u001b[0m\r\n\r\n 1. Install for all users:    \u001b[1mYES (requires root password)\u001b[0m\r\n 2. Installation directory:   \u001b[1m/opt/FreeFileSync\u001b[0m\r\n 3. Create desktop shortcuts: \u001b[1mNO\u001b[0m\r\n_____________________________\r\nPress a number [\u001b[1m1-3\u001b[0m] to change settings,\r\n\u001b[1mENTER\u001b[0m to begin installation: " (spawn_id exp4) match exact string "\r\nENTER to begin installation: "? no

As perguntas que o roteiro deve responder são:

Accept the FreeFileSync license terms? [y]es, [n]o, or [s]how: [y/n/s] 

FreeFileSync 11.18 Setup

 1. Install for all users:    YES (requires root password)
 2. Installation directory:   /opt/FreeFileSync
 3. Create desktop shortcuts: NO
_____________________________
Press a number [1-3] to change settings,
ENTER to begin installation: 

-> Removing old installation: /opt/FreeFileSync
-> Installing to: /opt/FreeFileSync
-> New console command: freefilesync
-> Registering file extensions: *.ffs_gui, *.ffs_batch, *.ffs_real

All done!
                __
   ,           ," ^`--o
  ((          (  | __,'
   \\~-------' \_;/
   (             /
   /) .______.  )
  (( (      (( (
   ``-'      ``-'

Get the Donation Edition with bonus features and help keep FreeFileSync ad-free.
https://freefilesync.org/donate

o que devo corrigir no EOF?. Obrigado

linux command-line
  • 1 respostas
  • 250 Views
Martin Hope
acgbox
Asked: 2022-02-19 08:52:23 +0800 CST

Remover extensões de arquivo com "extensão de correspondência de eco" em um script em lote?

  • 5

Eu tenho este script em lote:

set driveletter=F

call :delext "*.foo"
call :delext "*.bar"
call :delext "*.pdf"


:: funcion delext
@echo off
pause
goto:eof
:delext
  set delext=%1
  del /f/q/s %driveletter%:\"%delext%"
goto:eof

O que eu preciso é de um "eco" se houver uma correspondência com qualquer uma das extensões.

Por exemplo, se houver um arquivo chamado test.pdfe como ele corresponde à extensão *.pdf, gostaria de um eco match pdfna saída (se não houver correspondência, não mostre nada.)

Como eu posso fazer isso?

windows batch-file
  • 1 respostas
  • 343 Views
Martin Hope
acgbox
Asked: 2022-01-14 09:43:34 +0800 CST

como enviar atalho para área de trabalho pública, com vbs

  • 6

seguindo as instruções do ss64 eu criei um vbs para criar um atalho

minhatest.vbs

Set objShell = WScript.CreateObject("WScript.Shell")
   Set lnk = objShell.CreateShortcut("%HOMEDRIVE%\Users\Public\Desktop\test.lnk")
   
   lnk.TargetPath = "%HOMEDRIVE%\test\start.bat"
   lnk.Arguments = ""
   lnk.Description = "test"
   lnk.HotKey = "ALT+CTRL+F"
   lnk.IconLocation = "%HOMEDRIVE%\test\test.ico, 0"
   lnk.WindowStyle = "1"
   lnk.WorkingDirectory = "%HOMEDRIVE%\test\"
   lnk.Save
   'Clean up 
   Set lnk = Nothing

Fora

Error: Could not save shortcut
"c:\test\%HOMEDRIVE%\Users\Public\Desktop\test.ink"

Se eu alterar o caminho do atalho "%HOMEDRIVE%\Users\Public\Desktop\test.lnk"para apenas test.inko atalho é criado com sucesso dentro da testpasta

como posso criar o atalho no caminho "%HOMEDRIVE%\Users\Public\Desktop\test.lnk"?

windows shortcuts
  • 1 respostas
  • 536 Views
Martin Hope
acgbox
Asked: 2021-11-03 06:30:39 +0800 CST

Como excluir todos os arquivos que não foram usados ​​(acessar, alterar ou modificar) em X anos

  • 5

eu executo este comando

find BAR -type f -mtime +1095 # older than 3 years

e encontre este arquivo:

BAR/foo.pdf

Então eu corro isso:

stat BAR/foo.pdf
Access: 2020-01-03 01:32:05.584393000 -0500
Modification: 2017-12-04 07: 59: 36.963225900 -0500
Change: 2020-01-02 10: 26: 28.907127100 -0500
# or
find BAR/foo.pdf -type f -printf "%p\n%a\n%c\n\n"
Fri Jan  3 01:32:05.5843930000 2020
Thu Jan  2 10:26:28.9071271000 2020

A data de 'Acesso' e 'Mudança' tem menos de 3 anos

e se uma corrida

find BAR -type f -ctime +1095 # older than 3 years

não ganhe nada

O que eu quero é excluir todos os arquivos que não foram usados ​​(acessar ou alterar ou modificar) em 3 anos

PD: no exemplo, apenas 2 critérios são atendidos. Gostaria que meu comando procurasse por arquivos que atendam aos 3 critérios: Que não tenham sido acessados, modificados ou alterados por mais de 3 anos

linux bash
  • 2 respostas
  • 87 Views
Martin Hope
acgbox
Asked: 2021-08-19 11:52:12 +0800 CST

como obter a versão java em lote e ecoar algo se esvaziar ou não

  • 6

este é um lote para detectar java, mas sempre defina ok

setlocal EnableDelayedExpansion
for /f "tokens=3" %%i in ('java -version 2^>^&1 ^| findstr /i "version"') do (echo %%i)
IF %%i == "" (echo fail) else (echo ok)

Como modifico este script para que se o java não estiver instalado no sistema (32 ou 64 bits ou ambos) "echo FAIL" e se estiver instalado (32 ou 64 bits ou ambos) "echo OK"

PD: Se não funcionar corretamente com o acima, também aceitaria respostas com este comando (ou qualquer outro):

wmic product where "name like '%%java%%' AND NOT Name like '%%java auto%%'"

PD: Encontrei um lote que faz exatamente o que eu quero, mas é longo e complicado, e não consegui simplificá-lo. Eu disponibilizo para dar ideias de soluções

windows-10 windows-7
  • 1 respostas
  • 419 Views
Martin Hope
acgbox
Asked: 2021-07-11 08:45:18 +0800 CST

como montar/desmontar pasta com bindfs/fusermount da conta root sem privilégios?

  • 5

Este é o meu script bash em init.d:

#!/bin/bash
case "$1" in
  'start')
    # mount
    bindfs -n /home/my_user/.local/share/Cryptomator/mnt /home/my_user/drivefolder
 ;;
  'stop')
    fusermount -u /home/my_user/drivefolder
 ;;
  *)
    echo "Usage: $0 { start | stop }"
 ;;
esac

então eu corro da conta root:

/etc/init.d/drivemount.sh start
/etc/init.d/drivemount.sh stop

O que eu quero é montar/desmontar /home/my_user/drivefolderde rootconta em my_userconta sem privilégios (para que a pasta montada possa ser manipulada sem privilégios).

Há alguma maneira de fazer isso? (sem precisar executar o script em my_userconta sem privilégios e de outro local)

Esclarecimento : O script não é executado automaticamente. O que eu quero é executar o script manualmente, de rootou apenas com my_usero local (por motivos não relacionados à pergunta)sudo/etc/init.d

PD: Eu li que com evalisso pode ser feito, mas eu não sei.

linux ubuntu
  • 1 respostas
  • 184 Views
Martin Hope
acgbox
Asked: 2021-05-29 12:36:53 +0800 CST

Script em lote para localizar e excluir um valor em várias chaves de registro

  • 7

Eu tenho um script em lote para encontrar uma chave de exclusão do regedit :

@for %%I in ("foo") do reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "%%~I" /f

Preciso expandir a pesquisa e remoção de "foo" em outras chaves de registro:

"HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run"
"HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"

Como faço isso com um único comando?

command-line batch
  • 1 respostas
  • 945 Views
Martin Hope
acgbox
Asked: 2021-05-25 07:02:19 +0800 CST

como iniciar o Apache e o MySQL automaticamente no UniServer Zero pela linha de comando

  • 5

eu quero iniciar o Apache e o MySQL automaticamente pela linha de comando no uniserver zero XIV

aqui o site oficial propõe que você o inicie com o seguinte comando (e funciona!):

UniController.exe start_both
UniController.exe stop_both

Também pode ser feito manualmente pela GUI (E funciona!):

insira a descrição da imagem aqui

problema:

curiosamente a ação acima modifica o arquivo C:\UniServerZ\home\us_config\us_config.inide falseparatrue

RunAtPcStartUpEnabled=true
RunApacheAtStartUp=true
RunMysqlAtStartUp=true

Mas se eu fizer a modificação diretamente no arquivo us_config.ini(sem abrir o aplicativo), e alterar esses valores de falsepara true, quando reinicio o PC, o apache + mysql não inicia, então a ação acima deve fazer outra coisa

Também aqui o site oficial propõe instalar e rodar como um serviço (e não funciona!):

C:\UniServerZ\core\apache2\bin\httpd_z.exe -k install -n "us_apache_1"
C:\UniServerZ\core\mysql\bin\bin\mysqld_z.exe --install "us_mysql_1" --defaults-file=C:/UniServerZ/core/mysql/my.ini
C:\UniServerZ\core\apache2\bin\httpd_z.exe -k start -n "us_apache_1"
sc.exe start "us_mysql_1"

insira a descrição da imagem aqui

mas esses comandos estão incompletos e contêm erros de origem

Qual é a maneira correta de iniciar com o PC apache + mysql no UniServer Zero XIV (pela linha de comando cmd ou modificando o arquivo .ini)? obrigado

windows command-line
  • 2 respostas
  • 227 Views
Martin Hope
acgbox
Asked: 2021-01-15 12:33:13 +0800 CST

Quantos protocolos de internet existem (relacionados ao domínio/URL)?

  • 5

Preciso saber quais são os protocolos que são usados ​​atualmente (que podem estar relacionados a domínios ou URLs e podem ser resolvidos por um DNS). Exemplo:

www.domain.com
ftp.domain.com
ftps.domain.com
ftpes.domain.com
sftp.domain.com
pop.domain.com
pop3.domain.com
smtp.domain.com
imap.domain.com

Pesquisei na internet, mas não consegui encontrar uma lista completa desses protocolos. agradeço qualquer ajuda

PD: a porta utilizada pelo protocolo ou pela aplicação não é relevante para esta questão

networking internet
  • 1 respostas
  • 119 Views
Martin Hope
acgbox
Asked: 2020-09-09 07:23:30 +0800 CST

Qual é a maneira mais segura de executar o sysprep e o Remove-AppxPackage no Windows 10 para que não afete os aplicativos essenciais?

  • 5

Estou criando uma imagem do Windows 10 de maio de 2020 de um PC com sysprep. Mas ele pára com um erro.

insira a descrição da imagem aqui

Para corrigi-lo, executo os seguintes comandos do PowerShell:

Import-Module appx
Import-Module dism
Get-AppxPackage | Remove-AppxPackage

insira a descrição da imagem aqui insira a descrição da imagem aqui

E o sysprep roda bem, finaliza a imagem:

insira a descrição da imagem aqui

E ao iniciar tudo funciona como deveria, exceto o Windows Security, que inicia mas não permite acesso ao painel de configuração, nem permite reiniciá-lo em "serviços". Não consigo determinar a causa do problema, mas sfc/scannownão corrijo esses problemas.

De qualquer forma, o que eu realmente quero saber é a maneira mais segura de fazer esse trabalho, para que não afete nenhum aplicativo essencial do Windows 10.

PD: Veja como excluir um aplicativo, mas não sei quais pacotes devem ser excluídos para que isso não afete os aplicativos essenciais. Exemplo:

Get-AppxPackage | where-object {$_.name –notlike "*store*"} | Remove-AppxPackage
windows-10 security
  • 1 respostas
  • 1578 Views
Martin Hope
acgbox
Asked: 2020-05-17 04:56:30 +0800 CST

Como usar robocopy com exclusões

  • 6

Estou usando o robocopy para copiar pastas e arquivos da origem para o destino.

origin_path:

folder1
folder2
folder3
file1.txt
file2.log
file3.png

dest_path:

folder_important
folder1
folder2

este é o meu comando

set exclude_ext_from_copy=*.log *.txt*
set exclude_folder_from_copy=folder3

robocopy "origin_path" "dest_path" /E /COPYALL /PURGE /MIR /IS /IT /TEE /FFT /ETA /R:10 /W:5 /ZB /V /XF %exclude_ext_from_copy% /XD %exclude_folder_from_copy% /LOG:"%HOMEPATH%\Desktop\log.txt"

em dest_path:

folder1
folder2
file3.png

Você pode ver que excluiu da cópia "folder3" e arquivos com extensões "* .log" e "* .txt". Até agora tudo bem.

Agora, quero evitar que o robocopy exclua a pasta "folder_important" em 'dest_path'. Como posso excluí-lo (ou protegê-lo de exclusão). Obrigado

Tentativas falhas:

attrib +s +h dest_path\folder_important
robocopy etc etc
attrib -s -h dest_path\folder_important
windows command-line
  • 1 respostas
  • 223 Views
Martin Hope
acgbox
Asked: 2020-05-05 13:45:52 +0800 CST

extrair .rar multiparts com bash

  • 8

eu executo este script, mas isso tem um problema com extrair multiparts rar

#!/usr/bin/env bash

shopt -s extglob nullglob

passw=(
  passfoo
  passbar
  passfoobar
  banana
  chocolate
  whiskey
  vodka
  icecream
)

for f in *.@(rar|zip|zip.001|7z|7z.001); do
  for p in "${passw[@]}"; do
    if 7z x -y -p"$p" "$f" -aoa; then
      break
    fi
  done
done

Com .zipou .7zdescompacta bem as multipartes, pois a extensão das multipartes são iguais (for .7z= 7z.001, 7z.002, etc. For .zip= zip.001, zip.002, etc). O problema é que se eu adicionar isso ao script:

*.@(rar|part1.rar|zip|zip.001|7z|7z.001)

Ele falha porque ambos terminam em .rar*.partX.rar e o loop descompacta a mesma coisa repetidamente ou falha em diante se o arquivo tiver senha.rar.part2.rar

Tentativas fracassadas de corrigir o problema:

  1. Para excluir qualquer arquivo de .part2.rar(exemplo: *.part{2..99}.rar)

  2. Com o interruptor "-x"

Agradeço ajuda para completar o loop e integrar a descompactação de arquivos multipartes no .rarformato

linux command-line
  • 1 respostas
  • 169 Views
Martin Hope
acgbox
Asked: 2020-04-30 09:47:18 +0800 CST

descompacte muitos arquivos com diferentes senhas e formatos de compactação com script bash

  • 7

Eu tenho esse script bash para descompactar arquivos com senhas diferentes. Mas descompacta indefinidamente e danifica os arquivos descompactados

PASS="passfoo passbar passfoobar"
LIST=$(ls -1 *.{zip,7z,7z.001,rar})
for password in $PASS; do
  OIFS="$IFS"
  IFS=$'\n'
  for i in $LIST
  do
      echo "$password"
      7z x -y -p"$password" "$i" -aoa
      if [ $? -eq 0 ]; then
     continue
    fi
   done
   IFS="$OIFS"
  done

Para corrigi-lo temporariamente, tive que criar um loop para cada senha.

O que eu quero é que quando o script der match com uma senha, o script não teste as demais, e se não der match com alguma senha que tente descompactar normalmente (caso não tenha senha) ou que dê um erro (se o arquivo tiver senha mas não estiver na variável) sem parar para descompactar os demais arquivos. Obrigado

PD: Lembre-se de que os arquivos para descompactar às vezes vêm com nomes com espaço e outros caracteres não ASCII ou são arquivos compactados por partes

linux bash
  • 1 respostas
  • 116 Views
Martin Hope
acgbox
Asked: 2020-04-11 10:47:04 +0800 CST

exclua várias entradas permanentes da tabela arp pela linha de comando

  • 6

Estou tentando remover as entradas permanentes da minha tabela arp. mas o comando a seguir remove apenas aqueles que não são permanentes

ip -s -s neigh flush all

Com o utilitário arp consegui eliminar os permanentes. Exemplo:

arp -a
? (192.168.1.230) en d4:63:c6:11:22:33 [ether] PERM in enp2s0
arp -d 192.168.1.230

Como existem várias entradas permanentes, eu queria automatizar o comando para remover qualquer entrada que contenha "PERM":

arp -a | grep -i perm | grep -oP '(\d+\.){3}\d+' | xargs -I {} sudo arp -d {}

mas tem um erro:

xargs: sudo: ended with status 255; aborting

O que eu fiz errado? THK

Atualizar:

resolvido bash para excluir o endereço ip do computador onde o comando é executado

localip=192.168.1.11
arp -a | grep -i perm | grep -oP '(\d+\.){3}\d+' | grep -v $localip | xargs -I {} sudo arp -d {}

Obrigado a todos

bash networking
  • 1 respostas
  • 849 Views
Martin Hope
acgbox
Asked: 2020-03-12 07:42:07 +0800 CST

como cat/grep string delimitada por ponto e vírgula

  • 6

Como cat/grep string em vários arquivos delimitados por ponto-e-vírgula para capturar o endereço mac. Exemplo:

Pasta:

 /home/acl

acl Arquivos:

 acl1
 acl2

informações de formato de string arquivos acl:

 a;mac address;ip address;hostname

exemplo de arquivo acl1:

 a;14:cc:20:00:73:02;192.168.1.150;CONTA1

exemplo de arquivo acl2:

 a;13:aa:10:10:74:01;192.168.1.140;FINANCE2

tentativas

 grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' acl1

Fora (resultado esperado)

 13:aa:10:10:74:01

Existe alguma maneira simples de integrar esse resultado em uma variável?

Exemplo:

acl="grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' acl*"

obrigado

PD: Escolha difícil. Ambas as soluções estão corretas, mas devo escolher uma. Agradeço a todos

linux bash
  • 2 respostas
  • 368 Views
Martin Hope
acgbox
Asked: 2020-03-10 07:03:53 +0800 CST

string grep equivalente no Windows 7 a 10

  • 7

Eu quero encontrar um comando no windows equivalente ao seguinte comando no linux:

cat file.txt | grep -oP '\d{5}-\d{5}'

Fora

99527-86793

com:

findstr /R "pattern" file.txt 

Eu tento isso, mas funciona parcialmente.

findstr [0-9]-[0-9] file.txt

Fora:

de4f2114-847c-4cf2-8a0b-a38d04c0fdac1/1
99527-86793

Como posso delimitar a saída apenas para esses números: iniciar e terminar 5 números de 0 a 9 - 5 números de 0 a 9?

obrigado

cmd.exe batch
  • 2 respostas
  • 5711 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

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