我有一个名为File_A的文件,其中包含了135个文档,每个文档都是一行长文本。同时,我还有一个名为File_B的文件,其中包含了15个短语。我需要在File_A中寻找包含File_B中某个短语的句子及其之前的内容,并将这些句子从File_A中提取出来并输出到新文件File_1、File_2等中,直到所有匹配的句子都被提取出来。我使用以下代码实现了这个功能。请注意,代码中保留了HTML标记。
这里的问题是,输出被打印到控制台而不是新文件中。请有人帮助我认识到我的错误。
谢谢。
i=1
while read line; do
while read row; do
cat "$line" | sed 's/\./.\n/g' | grep -i -B 1 "$row" | tr -d '\n' | sed 's/--/\n/g' >> file_$i
done < $2
$i = $i+1;
done < $1
这里的问题是,输出被打印到控制台而不是新文件中。请有人帮助我认识到我的错误。
谢谢。
cat "$line"
会立即失败,因为$line
是文本中的一行而不是文件名。 - undefinedcat: something something...: 没有该文件或目录
和命令未找到
。 - undefined