Grep uma coluna específica [duplicada]

0

Eu tenho a seguinte saída:

Created                 LabelNum Size   Retention Hostname                Location Label           Plugin               Expires                 Server
----------------------- -------- ------ --------- ----------------------- -------- --------------- -------------------- ----------------------- -------------------------------
2017-03-22 01:43:29 IST 9        1.0 GB DW        vdp-dest.happycow.local Local    A-1490127173251 Windows VMware Image 2017-03-26 01:42:53 IST DD - data-domain.happycow.local

Gostaria de usar o conteúdo do grep na coluna Expires O valor sob isso será alterado de cliente para cliente, portanto, isso será uma variável.

Portanto, independentemente do valor, gostaria de ver a saída. Neste caso, deve ser:

Expires
-----------------------
2017-03-26 01:42:53 IST
    
por suhas savkoor 21.03.2017 / 22:32

1 resposta

3

Parece que você tem uma coluna fixa e, em seguida, é:

cut -c121-143 file

Editar:

Outra maneira de fazer isso, se a coluna com a palavra-chave 'Expires' puder variar, é primeiro identificar a posição da palavra-chave e, em seguida, ecoar dessa posição e 23 à frente:

#! /bin/bash
# Syntax:
#   ./cut_expires < file
#
# read first line from stdin
read LINE
# Remove chars from start to 'Expires' inclusive
PREFIX=${LINE/*Expires/}
EXPIRES=Expires
# Calculate where 'Expires' start
START=$(( ${#LINE}-${#PREFIX}-${#EXPIRES} ))
echo $EXPIRES
while read LINE; do
    # echo from character pos $START and 23 characters
    echo ${LINE:$START:23}
done
    
por 21.03.2017 / 23:01