Com base nos dados revisados, tente algo assim:
$ sed -nf <(sed 's/.*/&p/g' whitelist.txt) list.txt >newfile.txt
Isso transforma as entradas do arquivo whitelist.txt
de, por exemplo, 2
a 2p
, que instrui o% externosed
a imprimir essa linha 2
== > é igual a sed -n '2p'
== > imprime a segunda linha.
O mesmo acontece para todas as entradas de whitelist.txt
, criando um script sed (alimentando o sed externo com a substituição do processo), contendo 2p
, 5p
, 7p
, etc e as linhas de list.txt são impressas.
Alternativa: pré-processe o whitelist.txt:
sed 's/.*/&p/g' whitelist.txt >whitelist2.txt #or sed -i '....' whitelist.txt to overwrite whitelist.txt
sed -nf whitelist2.txt list.txt # you can redirect output to >newfile.txt