대소문자를 구분하지 않는 sed - OpenWrt

대소문자를 구분하지 않는 sed - OpenWrt

파일의 입력은 다음과 같습니다.

<sCripT

분석은 다음과 같습니다.

sed -i "s/<script//g" SOMETHING.html

"/gi"는 OpenWrt가 알지 못하기 때문에 좋지 않습니다(busybox..):

sed: bad option in substitution expression

예를 들어 다음과 같이 제거하는 방법을 아는 사람이 있습니까?

< sCripT or 
"<scRiPt" 

sed를 사용하시나요?

또한 (정말 필요한 것): 다음을 포함하는 전체 줄을 어떻게 삭제합니까?

"<sCripT" or 
"<scRiPt", etc.?

답변1

Busybox를 사용하는 방법은 없지만 sedBusybox를 사용하여 다음과 같이 할 수 sh있습니다 grep.

while IFS='
' read -r line; do
    printf "%s\n" "$line" | grep -qi '<script' || printf "%s\n" "$line"
done <SOMETHING.html >SOMETHING.html.tmp
mv SOMETHING.html.tmp SOMETHING.html

답변2

Busybox에는 없나요 grep -v?

간단한 명령으로 작업을 수행해야 합니다.

grep -vi "<[ \t]*script" SOMETHING.html

관련 정보