BusyBox 1.0에서 파일의 문자열을 재귀적으로 검색하시겠습니까? [복사]

BusyBox 1.0에서 파일의 문자열을 재귀적으로 검색하시겠습니까? [복사]

중복 가능성:
BusyBox 1.0에서 텍스트를 재귀적으로 grep하는 방법은 무엇입니까?

findBusyBox 1.0에서 문자열을 사용할 수 없는 경우 grep파일에서 문자열을 재귀적으로 검색하는 방법은 무엇입니까 ?

iptables(라우터에 텔넷으로 연결하여 규칙이 저장된 위치를 알아내고 싶습니다 .)

BusyBox v1.00 (2011.01.13-12:30+0000) 쉘 내장(msh)
내장 명령 목록을 보려면 "help"를 입력하십시오.

# 돕다

내장 명령:
------
        . :break cd 계속 eval exec 종료 종료 도움말 newgrp 로그인
        읽기 읽기 전용 교대 시간 트랩 설정 umask 대기 [busybox cat chmod
        cp 날짜 dmesg echo expr false ftpget ftpput 호스트 이름 ifconfig
        init insmod Kill Killall klogd linuxrc ln logger logread ls mkdir
        mknod 마운트 msh mv ping ps pwd 다시 시작 renice rm rmmod 경로 sed
        sendarp sh sysinfo syslogd 테스트 tftp 상단 추적 경로 true tty
        vconfig wget 제거

답변1

현재 디렉터리에서 재귀 패턴 검색을 수행하는 이 스크립트를 굴렸습니다. busybox shsed1.17.1을 사용하여 테스트되었습니다.

#!/bin/busybox sh

sed="busybox sed"

search_in()
{
    searchterm="$1"
    searchdir="$2"
    prefix="$3"

    (
        cd "$searchdir"
        for file in *
        do
            if [ -d "$file" ]
            then
                # recurse into subdirectory
                search_in "$searchterm" "$file" "$prefix\\/$file"
            else
                # use sed like grep
                $sed -rn '/'"$searchterm"'/s/(.*)/'"$prefix\\/$file"': \1/gp' "$file"
            fi
        done

    )
}

# search for command-line search term, starting in current directory (`.`)
search_in "$1" . "."

관련 정보