Articles of bash

Comparando números no Bash

Estou começando a aprender sobre como escrever scripts para o terminal bash, mas não consigo descobrir como fazer com que as comparações funcionem corretamente. O script que estou usando é: echo “enter two numbers”; read ab; echo “a=$a”; echo “b=$b”; if [ $a \> $b ]; then echo “a is greater than b”; else echo […]

Melhor maneira de renomear arquivos com base em vários padrões

muitos arquivos que eu baixei têm porcaria / spam em seus nomes de arquivos, por exemplo [ www.crap.com ] file.name.ext www.crap.com – file.name.ext Eu criei duas maneiras de lidar com elas, mas as duas parecem bem desajeitadas: com expansão de parâmetro: if [[ ${base_name} != ${base_name//\[+([^\]])\]} ]] then mv -v “${dir_name}/${base_name}” “${dir_name}/${base_name//\[+([^\]])\]}” && base_name=”${base_name//\[+([^\]])\]}” fi […]

Substituir uma subcadeia por outra seqüência no script de shell

Eu tenho “Eu amo Suzi e Marry” e eu quero mudar “Suzi” para “Sara”. #!/bin/bash firstString=”I love Suzi and Marry” secondString=”Sara” # do something… O resultado deve ser assim: firstString=”I love Sara and Marry”

ffmpeg em um tubo de bash

Eu tenho uma lista de caminho de arquivo rmvb e quero converter esses arquivos para arquivos mp4. Então, espero usar o pipeline para lidar com isso. O código é Convert() { ffmpeg -i “$1” -vcodec mpeg4 -sameq -acodec aac -strict experimental “$1.mp4” } Convert_loop(){ while read line; do Convert $line done } cat list.txt | […]

Equivalente em lote de backticks de Bash

Ao trabalhar com o Bash, posso colocar a saída de um comando em outro comando da seguinte forma: my_command `echo Test` seria a mesma coisa que my_command Test (Obviamente, este é apenas um exemplo não prático). Eu só estou querendo saber se você pode fazer a mesma coisa no Batch.

Teste se string é um inteiro válido

Estou tentando fazer algo bastante comum: Analisar a input do usuário em um script de shell. Se o usuário forneceu um inteiro válido, o script faz uma coisa e, se não for válido, faz outra coisa. O problema é que eu não encontrei uma maneira fácil (e razoavelmente elegante) de fazer isso – eu não […]

Script de shell para excluir diretórios com mais de n dias

Eu tenho diretórios nomeados como: 2012-12-12 2012-10-12 2012-08-08 Como eu excluiria os diretórios com mais de 10 dias com um script de shell bash?

Verificar a existência do argumento de input em um script de shell Bash

Eu preciso verificar a existência de um argumento de input. Eu tenho o seguinte script if [ “$1” -gt “-1” ] then echo hi fi eu recebo [: : integer expression expected Como faço para verificar primeiro o argumento de input1 para ver se ele existe?

Qual é o propósito de “&&” em um comando shell?

Tanto quanto eu sei, usando & após o comando é para executá-lo em segundo plano. Exemplo de & usage: tar -czf file.tar.gz dirname & Mas e quanto ao && ? (veja este exemplo: https://serverfault.com/questions/215179/centos-100-disk-full-how-to-remove-log-files-history-etc#answer-215188 )

Variáveis ​​na substituição do bash seq ({1..10})

É possível fazer algo assim: start=1 end=10 echo {$start..$end} # Ouput: {1..10} # Expected: 1 2 3 … 10 (echo {1..10})