我有两个文件.
file.txt
和 delete.txt
file.txt
包含以下内容:
/somedirectory/ /somedirectory2/somefile.txt /anotherfile.txt
delete.txt
包含:
/somedirectory/ /somedirectory2/somefile.txt
我需要删除其中file.txt
包含的行delete.txt
cat file.txt
应该导致:
/anotherfile.txt
到目前为止,我已经尝试过这个没有运气:
while read p; do line=$p; sed -i '/${line}/d' file.txt; done < delete.txt
我没有收到任何错误,它只是不编辑我的file.txt
文件.我用a测试了while循环,echo ${line}
它在该场景中按预期工作.
有什么建议?
注意:即使我从文件中取出正斜杠,上面的while循环也无法按预期工作.
用一个简单的grep
:
grep -vFxf delete.txt file.txt > temp.txt && mv temp.txt file.txt