특정 사용자 이름을 찾기 위해 아래 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와 grep을 자세히 살펴 보지 않았지만
printf '%s\n' "$content"
백슬래시가 데이터에 보존되도록 하려는 경우.
관련된: