我有以下带有两行的test.txt文件
keyword 1, 2010-10-01 | 1 | 2 | 3 | 4
keyword 2, 2010-10-01 | 1 | 2 | 3 | 4
并希望keyword1
和keyword2
ack。我称这个脚本为
#!/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
的方式,因为只运行此命令会得到一个空结果。
答案 0 :(得分:2)
好的,伙计们,这是最终的(工作)答案:
outputpath="$1"/
job="$2"
id=_"$3".csv
for keyword in "${@:4}"
do
trKeyWord=${keyword// }
ack "$keyword" $job > $outputpath$trKeyWord$id
done