在sed中引用以进行文件比较

在sed中引用以进行文件比较,sed,comparison,quoting,Sed,Comparison,Quoting,我想问一个关于sed的问题,以前有人问过,但坦率地说,我无法理解错误在哪里,(可能与引用有关) 我看到的大多数帖子都提到,如果我想将变量的值调用到sed中,我需要避免使用单引号,因为这样它会按字面意思使用$var,找不到值,并输出错误“no previous regular expression” 我使用cat | grep创建了这个文件比较的另一个版本,我只是想知道sed是否可以在while的每个迭代中只打印匹配的行 不过,这和我在双引号中遇到的错误是一样的,有人能帮我吗 while IFS=

我想问一个关于sed的问题,以前有人问过,但坦率地说,我无法理解错误在哪里,(可能与引用有关)

我看到的大多数帖子都提到,如果我想将变量的值调用到sed中,我需要避免使用单引号,因为这样它会按字面意思使用$var,找不到值,并输出错误“no previous regular expression”

我使用cat | grep创建了这个文件比较的另一个版本,我只是想知道sed是否可以在while的每个迭代中只打印匹配的行

不过,这和我在双引号中遇到的错误是一样的,有人能帮我吗

while IFS='' read line1 || [[ -n $line1 ]]; do
echo $line1
sed -n "/$line1/p" $fileA > $outputfile
done < $fileB
而IFS=''读取第1行| |[[-n$line1]];做
echo$line1
sed-n“/$line1/p”$fileA>$outputfile
完成<$fileB

它打印正确的行,它只会给我这个错误:sed:-e表达式#1,char 0:没有以前的正则表达式是什么行值导致sed的错误?我不知道,我怎么能找到?我尝试了bash+xscriptname,但它并没有真正让我一步一步地完成,有没有可能在sed中输入一个空行?这就是为什么会出现错误?
bash-x scriptname
set-x
在脚本中,但是脚本中已经有
echo$line1
,所以在
sed
错误之前输出哪一行?是的。sed的
/
模式意味着“使用前面的正则表达式”,这对于sed脚本中的第一个模式是不可能的。