없음 길이가 148자를 초과 할 수 없습니다 - 지금까지 1024 자 제한보다 작습니다. 그 한도를 초과하면 규칙을 어떻게 처리해야하는지 말하지 않습니다.
이것은 매우 간단한 Bash 스크립트로 샘플을 리터럴 "\ n"과 "규칙"이라는 배열로 나눕니다. 그것은 1024자를 초과 라인을 건너 뛰고 에러 메시지를 출력 :
#!/bin/bash
while read -r line
do
((count++))
if ((${#line} > 1024))
then
echo "Line length limit of 1024 characters exceeded: Length: ${#line} Line no.: $count"
echo "$line"
continue
fi
rules+=($line)
done < <(echo -e "$(<samplerule)")
결과에 관계없이 라인 길이를 자릅니다이 변화 : 리터럴 "\ n"사실이 아닌 경우
#!/bin/bash
while read -r line
do
rules+=(${line:0:1024})
done < <(echo -e "$(<samplerule)")
을
done < <(echo -e "$(<samplerule)")
이런 말 :와 파일에 당신이, AWK 전적으로이 코딩보다는 배쉬 배열을 사용하는 위의 버전 중 하나의 라인을 변경해야하는 것은이 말한다
done < <(awk 'BEGIN {RS="OR"} {print $0,"OR"}' samplerule)
if [[ "${rules[${#rules[@]}-1]}" == "OR" ]]
then
unset "rules[${#rules[@]}-1]"
fi
"OR"에 줄을 나눕니다.
편집 : 마지막에 추가 "OR"를 제거하는 명령이 추가되었습니다.
이것은 실제로는 찾고 있지 않습니다. ( – soField