problema ao usar o grep com um arquivo padrão

0

Estou usando o seguinte comando

grep -Fwf tmp.txt csw15int.txt > temp.txt

tmp.txt é o arquivo padrão. Cada linha é combinada com linhas em csw15int.txt. Eu quero que apenas a primeira palavra em csw15int.txt seja correspondida com as linhas de tmp.txt. Atualmente, ele procura uma correspondência na linha inteira.

    
por Mohan Chunkath 24.08.2017 / 01:02

1 resposta

2

Como mencionado nos comentários, essas perguntas são muito mais fáceis de responder se você mostrar a entrada e a saída. No entanto ....

Como você está usando -F , sei que seus padrões são sequências fixas, não regexes.

Supondo que você não se importa com o pedido, basta usar join .

A única ressalva é que você precisa classificar a entrada primeiro. (Observe que a classificação lexicográfica não é numérica.)

Assumindo Bash ou outro shell com substituição de processo:

join <(sort tmp.txt) <(sort csw15int.txt) > temp.txt
    
por 24.08.2017 / 02:19