(usando MacOSX e pode converter isso em um script perl).
Sou relativamente novo em comandos Linux / Unix e minha pesquisa no Google não foi bem-sucedida.
Estou criando um script para acelerar a busca por um registro do treinamento de alguém. A maneira como estou fazendo isso é listar os registros de treinamento do indivíduo em uma linha (talvez haja uma maneira melhor?). Quando eu uso o Grep para procurar por um nome específico, posição treinada em, ou data, ele mostra a linha inteira. Eu quero grep procurar por uma seqüência específica e mostrar apenas o início da linha, ou seja, as primeiras 2 palavras (nome / sobrenome).
O arquivo Training.txt é semelhante a este:
Ivie, Shawn Cashier 5/24/2016 Storeroom 12/2/2016 Service-Desk 11/31/2016
Allen, Adam Cashier 5/10/2016 Storeroom 12/13/2016
Martinez, Jessica Cashier 5/20/2017 Storeroom 10/29/2016 Supervisor 1/23/2016
O comando que eu uso agora é:
grep "Cashier" Training.txt
que retorna todos os 3 registros, todo o conteúdo da linha de todos os registros.
Eu tentei:
grep -E -o ".{0,0}Cashier.{0,5}" Training.txt
que retorna (neste exemplo, todos os 3 registros), mas mostrando zero caracteres antes de "Caixa" e 5 depois.
Cashier 5/10
Como posso incorporar um comando grep (ou talvez um comando Perl) para procurar, por exemplo, "Supervisor" e mostrar apenas as 2 primeiras palavras (nomes)?
Secundário: alguma ideia que possa facilitar este tipo de processo? (A planilha não é útil nesse caso).