我有以下测试.txt文件有两行
keyword 1, 2010-10-01 | 1 | 2 | 3 | 4
keyword 2, 2010-10-01 | 1 | 2 | 3 | 4
并想为keyword1
和keyword2
.我称此脚本
#!/bin/bash
OUTPUTPATH=$1"/"
JOB=$2
ID="_"$3".csv"
for keyword in "${@:4}"
do
trKeyWord=$(echo "$keyword" | sed 's/ //g')
ack ""$keyword"" $JOB > $OUTPUTPATH$trKeyWord$BSLD_ID
done
通过
bash script.sh /home/username/ test.txt test "keyword 1" "keyword 2"
输出文件keyword1_test.csv
,keyword2_test.csv
已创建,但它们为空!问题一定是我如何使用ack ""$keyword"" $JOB
因为仅运行此命令就会给出空结果。
好的伙计们,这是最终的(工作)答案:
outputpath="$1"/
job="$2"
id=_"$3".csv
for keyword in "${@:4}"
do
trKeyWord=${keyword// }
ack "$keyword" $job > $outputpath$trKeyWord$id
done