find
BusyBox 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 sh
및 sed
1.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" . "."