Isso funcionará:
date | cut -d' ' -f1
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?
Isso funcionará:
date | cut -d' ' -f1
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
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.
Tags command-line cut