我正在尝试 grep 下面的 url 中的一些日志来查找特定的用户名。但是我没有得到任何结果,它只是不停地运行。
grepfor="username"
urls=("https://tgstation13.org/parsed-logs/terry/data/logs/2019/01")
while [ ${#urls[@]} -ne 0 ]
do
content="$(curl -s "$url[0]")"
echo "$content" | grep "$grepfor"
delete=($urls[0])
add=(`echo "$content" | grep -Po '(?<=href=")[^"]*'`)
urls=( "${urls[@]/$delete}" "{$add[@]}" )
done
答案1
用于数组"${urls[0]}"
的第一个元素urls
,而不是$urls[0]
。
要删除数组的第一个元素urls
并将add
数组添加到末尾,请使用
urls=( "${urls[@]:1}" "${add[@]}" )
始终引用每个扩展,甚至${#urls[@]}
.
我没有仔细看过你的curs和greps,但是使用
printf '%s\n' "$content"
如果您想确保在数据中保留反斜杠。
有关的: