我正试图遍历一个包含要用作命令参数的术语的文件。
当我将包含术语的文件输入脚本时,什么都不会输出。
我正在使用的脚本是:
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
这是什么问题?