Remova a linha Nth dos dois arquivos se a linha em um arquivo corresponder

2

Eu tenho dois arquivos, file1 e file2 . Ambos possuem linhas X. Algumas linhas em file2 estão vazias (correspondem a ^$ ). Se a linha I estiver vazia em file2 , quero remover a linha I dos dois arquivos. Exemplo:

File1 :

ad
dada

da
dad


a

File2 :

dada


da
dada
dada
da
(empty line)

file1 resultante:

ad
da
dad


(empty line)

file2 resultante:

Dada
da
dada
dada
da
    
por MatthewRock 18.11.2016 / 13:34

1 resposta

3

Pode usar getline neste caso:

$ awk '{ getline ln < "File1"; if(!/^$/){print ln > "tmp1"; print > "tmp2"} }' File2
$ cat tmp1
ad
da
dad


$ cat tmp2
dada
da
dada
dada
da

Em seguida, mv dos arquivos de saída para edição no local, se necessário

    
por 18.11.2016 / 14:05