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

FaxMax's questions

Martin Hope
FaxMax
Asked: 2019-03-02 02:40:48 +0800 CST

O Docker não pode alterar o fuso horário

  • 1

por que não consigo alterar o fuso horário para CET ou Europe/Berlin

[[email protected] ~]# docker run -ti --rm debian:stretch bash
root@b65a4b63c152:/# cat /etc/timezone
Etc/UTC
root@b65a4b63c152:/# echo 'Europe/Berlin' > /etc/timezone
root@b65a4b63c152:/# cat /etc/timezone
Europe/Berlin
root@b65a4b63c152:/# dpkg-reconfigure -f noninteractive tzdata

Current default time zone: 'Etc/UTC'
Local time is now:      Fri Mar  1 10:31:46 UTC 2019.
Universal Time is now:  Fri Mar  1 10:31:46 UTC 2019.

root@b65a4b63c152:/# ls -l /usr/share/zoneinfo/Europe/Berlin
-rw-r--r-- 1 root root 2335 Dec 31 09:43 /usr/share/zoneinfo/Europe/Berlin
root@b65a4b63c152:/# echo $TZ

root@b65a4b63c152:/# date '+%Z %z'
UTC +0000
root@b65a4b63c152:/# cat /etc/timezone
Etc/UTC
docker timezone
  • 1 respostas
  • 1062 Views
Martin Hope
FaxMax
Asked: 2018-02-03 05:24:22 +0800 CST

procmail salvar anexo com data de recebimento no nome do arquivo

  • 2

Todos os dias recebemos um e-mail de, por exemplo, [email protected] com um anexo, o nome do arquivo é, por exemplo,report.xlsx

Como posso salvar o arquivo com a data de recebimento? por exemplo 20180131_report.xlsx, e como posso filtrar o assunto ou o remetente?

Meu ~/.procmailrc :

:0
*^content-Type:
{
    :fw
    | ripmime --overwrite --no-nameless -i - -d /dir/to/save/attachment
}
email procmail
  • 2 respostas
  • 4170 Views
Martin Hope
FaxMax
Asked: 2017-12-14 04:29:11 +0800 CST

sed remove espaços (codificação múltipla) do final da linha

  • 2

Eu gosto de remover espaços do começo e do fim da linha.

result="$(mysql -r --column-names=0 -e "SELECT String FROM Table")"
echo $result | cat -E
+stringA +StringB     $
echo $result | sed 's/^\([[:blank:]]\)\+//g' | sed 's/\([[:blank:]]\)\+$//g' | cat -E
+stringA +StringB     $

Copiei a string com o mouse e a inseri com a tecla 3 do mouse (pressione a roda)

echo '+stringA +StringB     ' | sed 's/^\([[:blank:]]\)\+//g' | sed 's/\([[:blank:]]\)\+$//g' | cat -E
+stringA +StringB     $

agora eu pressionei a tecla ↑, navegue até os espaços e substitua por dele space

echo '+stringA +StringB     ' | sed 's/^\([[:blank:]]\)\+//g' | sed 's/\([[:blank:]]\)\+$//g' | cat -E
+stringA +StringB$

e agora o sedcomando correspondeu e excluiu os espaços . Como posso converterespaços errados espaço sem quebra para espaços normais ?

echo $LANG
en_US.UTF-8
$bash --version
GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)
mysql -e "SHOW VARIABLES LIKE '%char%'"
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

Atualização1:

echo '+stringA +stringB         ' | od -tx1z
0000000 2b 73 74 72 69 6e 67 41 20 2b 73 74 72 69 6e 67  >+stringA +string<
0000020 42 c2 a0 c2 a0 c2 a0 c2 a0 c2 a0 c2 a0 c2 a0 c2  >B...............<
0000040 a0 c2 a0 0a                                      >....<
0000044
echo '+stringA +stringB         ' | od -tx1z
0000000 2b 73 74 72 69 6e 67 41 20 2b 73 74 72 69 6e 67  >+stringA +string<
0000020 42 20 20 20 20 20 20 20 20 20 0a                 >B         .<
0000033
echo '+stringA +stringB         ' | od -c
0000000   +   s   t   r   i   n   g   A       +   s   t   r   i   n   g
0000020   B 302 240 302 240 302 240 302 240 302 240 302 240 302 240 302
0000040 240 302 240  \n
0000044
echo '+stringA +stringB         ' | od -c
0000000   +   s   t   r   i   n   g   A       +   s   t   r   i   n   g
0000020   B                                      \n
0000033

os echo-comandos 1 e 3 são copiados com a tecla do mouse 3 os echo-comandos 2 e 4 são com espaços normais

Atualização2:

eu inseri o sedcomando com [^[:graph:]]mas não muda o out.

for UKWID in 123 456 678; do
    result="$(mysql -r --column-names=0 -e "SELECT String FROM Table WHERE id = $UKWID")"
    echo "$result" | sed 's/^[^[:graph:]]*//;s/[^[:graph:]]*//' | cat -E
done
+stringA +stringB         $
   +stringc +stringx    $
+stringe +stringf      $
text-processing sed
  • 2 respostas
  • 1280 Views
Martin Hope
FaxMax
Asked: 2017-12-03 16:12:16 +0800 CST

Como uma função bash pode retornar vários valores?

  • 13

Qual é a melhor prática para retornar muitos valores de uma função bash?

Exemplo 1:

Script de função:

function mysqlquery {
    local dbserver='localhost'
    local dbuser='user'
    local dbpass='pass'
    local db='mydb'
    mysql -h "$dbserver" -u "$dbuser" -p "$dbpass" --skip-column-names --raw -e "$*" "$db"
    if [ $? -ne 0 ]; then
        return 1
    fi
}

Script-fonte:

for XY in $(mysqlquery "select XY from ABC where DEF = 123" 2>/dev/null);do
    dosomethingwith $XY
done
if mysqlquery "select XY from ABC where DEF = 123" 2>/dev/null; then
    echo true
fi

Exemplo2:

Script de função:

function mysqlquery {
    local dbserver='localhost'
    local dbuser='user'
    local dbpass='pass'
    local db='mydb'
    result=$(mysql -h "$dbserver" -u "$dbuser" -p "$dbpass" -e "$*" "$db" 2>/dev/null)
    if [ $? -ne 0 -o -z "$result" ]; then
        return 1
    fi
}

Script-fonte:

result=$(mysqlquery "select XY from ABC where DEF = 123" 2>/dev/null)
for XY in $result;do
    dosomethingwith $XY
done
if mysqlquery "select XY from ABC where DEF = 123" 2>/dev/null; then
    echo true
fi

Ou existem mais abordagens para retornar várias informações (muito mais do que um único valor int)?

bash shell-script
  • 2 respostas
  • 38851 Views
Martin Hope
FaxMax
Asked: 2017-11-28 02:24:54 +0800 CST

Alterar uma lista de strings para letras minúsculas

  • 2

Eu tenho dois arquivos, um arquivo contém uma lista de strings.

+stringa +Dog +Cat
+cat +Tux +elephant

e o segundo arquivo (csv) contém algo como:

"123456 Abc","+Stringx +123","something"
"23456 dEf","+cat +Tux +elephant","Other something"
"34524 xyz","+stringa +Dog +Cat","third something"

o resultado deve ser:

"123456 Abc","+Stringx +123","something"
"23456 dEf","+cat +tux +elephant","Other something"
"34524 xyz","+stringa +dog +cat","third something"

Como posso alterar as strings que correspondem à minha lista de padrões para letras minúsculas?

Meu arquivo de valores separados por vírgula tem cerca de 30 colunas e cerca de 1.500 linhas.

text-processing
  • 3 respostas
  • 728 Views
Martin Hope
FaxMax
Asked: 2017-11-24 01:24:36 +0800 CST

Por que canalizar `mysql` para 'tail' altera o formato de saída?

  • 15

Quando vejo o resultado de um SELECTcom o MySQL Workbench, está correto com um único \

max@host 10:13:58: ~$ mysql -h db-master.domain.local -uuser -ppw db -e '
>                 SELECT
>                 DISTINCT i.filesourceregexp
>                 FROM db.ImportLogFiles i'

+------------------------------------------------+
| filesourceregexp                               |
+------------------------------------------------+
| ^[0-9]{8}_1062355673_merge_google_pbn\.csv$    |
| ^[0-9]{8}_8026062435_merge_google_pbn\.csv$    |
| ^[0-9]{8}_1062355673_store_visits_report\.csv$ |
+------------------------------------------------+

max@host 10:14:10: ~$ mysql -h db-master.domain.local -uuser -ppw db -e '
                SELECT
                DISTINCT i.filesourceregexp
                FROM db.ImportLogFiles i' | tail -n +2
^[0-9]{8}_1062355673_merge_google_pbn\\.csv$
^[0-9]{8}_8026062435_merge_google_pbn\\.csv$
^[0-9]{8}_1062355673_store_visits_report\\.csv$
max@host 10:14:19: ~$ 

Tenho essas opções em my.cnf:

[client] 
host = db-master 
user = user 
password = pass 
default-character-set=utf8

Por que canalizar o resultado tailaltera a saída/string? (observe o duplo \).

pipe mysql
  • 1 respostas
  • 2118 Views
Martin Hope
FaxMax
Asked: 2017-11-23 08:12:40 +0800 CST

MySQL Select com função IN () com array bash

  • 0

Como posso fazer isso com um array? (sem armazenar o array como variável regular)

VAR='String1 String2 String3'
SELECT * FROM db.table WHERE xy IN ( ${VAR// /, } );

não funciona exemplo:

SELECT * FROM db.table WHERE xy IN ( ${ARRAY[@]// /, } );
shell-script mysql
  • 1 respostas
  • 1308 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