Você pode usar awk
para isso:
awk '{print $3}' yourfile
Isso simplesmente imprime o terceiro campo / coluna para cada registro / linha.
Olá, tenho um arquivo com saída
Name : ABC
Name : CDE
Name : ZYS
Eu quero o resultado
ABC
CDE
ZYS
Como posso obtê-lo através do comando SED?
Eu tentei. sed s/'Name'
mas retorna a saída como : ABC
Eu quero cortar o espaço e também :
da string.
Se você usa sed:
sed 's/^.*: //' yourfile
ou para ser um pouco mais preciso:
sed 's/^Name[^:]*: //' yourfile
Com as versões recentes do GNU grep, você pode fazer isso com uma aparência positiva:
grep -oP '(?<=: ).*' infile
Ou mais portável:
grep -o ':.*' infile | grep -o '[^ ]*$'
Saída:
ABC
CDE
ZYS
Para completar as outras respostas de outra forma:
cat file | cut -d: -f 2-
você pode cortar o espaço restante
cat file | cut -d: -f 2- | cut -c 2-
Ou mais compacto, um pouco menos legível:
cut -d: -f 2- < file | cut -c 2-
Você pode usar o comando awk
abaixo:
awk -F ':' '{print $2}'
Tags text-processing