sed命令在脚本中执行的一个坑

636 阅读1分钟

有这么一个需求,有一个文件a中存储了2万多行数据每一行都是一个期刊名称,另一个文件b也是存储了一部分的期刊名称,现在需要将在文件b中存在的期刊名称从文件a中删除。

在脚本中names.txt是上述场景中的文件a,data1.uniq.txt是文件b

cat data1.uniq.txt | while read line
do
	# 必须要用双引号
  sed -i "/$line/d" names.txt
done

大家注意sed删除命令中用到了一个变量,如果在脚本中使用必须用双引号