当我尝试运行下面的脚本时,它说 cat 的选项 3 无效。这是什么问题? 我尝试使用索引文件指定哪个文件是火腿文件,哪个文件是垃圾邮件...读取文件并训练垃圾邮件过滤器
#!bin/bash
DirBogoDict=$1
BogoFilter=/home/gunna/Downloads/bogofilter-1.2.4/src/bogofilter
x=0
for i in 'cat index | fgrep spam | head -300 | awk -F "/" '{print$2"/"$3}''
do
x=$((x+1)) ; echo $x
cat /home/gunna/Downloads/db-6.1.19.NC/build_unix/ceas08-1/$i| $BogoFilter -d $DirBogoDict -M -k 1024 -s
done
for i in 'cat index | fgrep ham | head -300 | awk -F "/" '{print$2"/"$3}''
do
x=$((x+1)) ; echo $x
cat /home/gunna/Downloads/db-6.1.19.NC/build_unix/ceas08-1/$i | $BogoFilter -d $DirBogoDict -M -k 1024 -n
done
最佳答案
这部分
'cat index | fgrep spam | head -300 | awk -F "/" '{print$2"/"$3}''
需要在反引号中,而不是单引号
`cat index | fgrep spam | head -300 | awk -F "/" '{print$2"/"$3}'`
你可以用
稍微简化一下for i in `fgrep spam index | head -300 | awk "/" '{print$2"/"$3}'`
关于linux - cat 的选项 3 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27350385/