从文件读取参数的脚本,导致没有文件被读取或写入

时间:2019-07-05 18:47:33

标签: bash

我正试图遍历一个包含要用作命令参数的术语的文件。

当我将包含术语的文件输入脚本时,什么都不会输出。

我正在使用的脚本是:

while IFS= read -r line; do
   awk 'tolower($0) ~ /$line/ {f=1;print ""> "$line.txt"} /^$/ {f=0} {print > (f?"$line.txt":"tmp")}' master.txt && mv tmp master.txt
done < "$file"

我用./script.sh < termsfile执行的

我还尝试了以下变体,如./script.sh一样在没有文件重定向的情况下运行:

while IFS= read -r line; do
   awk 'tolower($0) ~ /$line/ {f=1;print ""> $line#.txt"} /^$/ {f=0} {print > (f?$line".txt":"tmp")}' master.txt && mv tmp master.txt
done < termsfile
while IFS= read -r line; do
   awk 'tolower($0) ~ /$line/ {f=1;print ""> $line.txt} /^$/ {f=0} {print > (f?$line.txt:"tmp")}' master.txt && mv tmp master.txt
done < termsfile
while IFS= read -r line; do
   awk 'tolower($0) ~ /$line/ {f=1;print ""> $line} /^$/ {f=0} {print > (f?$line:"tmp")}' master.txt && mv tmp master.txt
done < termsfile

没有一项工作

文件termsfile在UNIX文本文件格式的每一行上都包含简短的单词,其中一些带有空格。例如:

dog
cat
rat
flying fox
hairless cat
dingo
panda

这是什么问题?

0 个答案:

没有答案