usando $ cut para ver apenas o mês [duplicado]

0

Isso é o que eu ganho fazendo $ date:

Wed Feb  1 16:21:58 PST 2017

Eu quero usar o comando cut e pipe para imprimir apenas 'Wed'.

date | cut -f '1-3'

Como o comando acima não faz nada? Como devo corrigir isso?

    
por Mint.K 02.02.2017 / 01:24

3 respostas

1

Isso funcionará:

date | cut -d' ' -f1
    
por 02.02.2017 / 04:39
1

O utilitário de data tem seu próprio parâmetro de formato, utilizando os códigos de formato padrão

Você vai querer

#date +"%a"

que fornecerá Thu

ou

date +"%A"

que fornecerá Thursday

ref: link

Re: por que não é "cortar" o trabalho?

A opção -f é baseada no espaçamento delimitado por TAB, portanto, a opção -d é necessária para especificar um espaço como o delimitador conforme a resposta de @rakesh-n.

date | cut -d' ' -f1

ref: link

    
por 02.02.2017 / 02:28
1

Você pode usar um arquivo oculto temporário para carregar o mês em uma variável, e permanecerá lá até que a sessão termine ou a variável tenha algo mais carregado nela. Aqui está um exemplo de script que pode ser executado em qualquer diretório:

#!/bin/bash
month=$(date | cut -c 5-7)
echo $month

retornará Feb . Agora você tem uma variável contendo o mês com o qual você pode fazer o que quiser. Não se esqueça de incluir o argumento -c no futuro para que o cut saiba que está puxando caracteres de colunas, em vez de bytes de uma string.

    
por 02.02.2017 / 01:50