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