Isso basicamente se resume a "Como eu combino pwd e sed delete (ou alternativa)". Dado um arquivo com uma lista de caminhos de arquivo, como eu excluo linhas que contêm meu diretório atual?
Então, se file1 contém:
/dirA/subdir1/somefile
/dirB/subdir2/somefile
/dirB/subdir2/somefile
/dirC/subdir2/somefile
/dirD/subdir1/somefile
E meu diretório de trabalho é:
/dirB/subdir2/
Então minha saída deve editar file1 no lugar para resultar em:
/dirA/subdir1/somefile
/dirC/subdir2/somefile
/dirD/subdir1/somefile
Eu sei que posso apagar linhas com:
sed '/pattern to match/d' file1
E eu posso alimentar o pwd no sed assim:
sed 's?#REPLACE-WITH-PATH?'`pwd`'?'
Então pensei que poderia combiná-los como um dos seguintes:
sed '/'`pwd`'/d' file1
sed '?'`pwd`'?d' file1
sed '#'`pwd`'#d' file1
A primeira opção não será lida corretamente, porque interpreta as barras do caminho como parte do comando sed. A segunda não reconhece o ponto de interrogação. A terceira roda, mas não faz nada.