0
나는 내 목표는 목표를 보관하기 위해BASH 및 AWK의 문장에서 특정 단어를 분리 하시겠습니까?
/home/kernel/drivers/sdk/build/src/soc/libsoc.c
/home/kernel/drivers/sdk/build/mt/soc/phy/x1.c
/home/kernel/drivers/sdk/build/mt/soc/phy/x2.c
/home/kernel/drivers/sdk/build/mt/soc/phy/x3.c
/home/kernel/drivers/sdk/build/mt/soc/phy/x4.c
/home/kernel/drivers/sdk/build/mt/soc/phy/x5.c
/home/kernel/drivers/sdk/build/mt/soc/phy/x6.c
/home/kernel/drivers/sdk/build/mt/soc/phy/x7.c
아래에 다음과 같이 확인하는 것입니다
/home/kernel/drivers/hal
/home/kernel/drivers/hal
/home/kernel/drivers/sdk
/home/kernel/drivers/sdk/systems/linux/kernel/common
/home/kernel/drivers/sdk/src
/home/kernel/drivers/sdk/build/linux/tar/soc/
src/soc/libsoc.c
/home/kernel/drivers/sdk/build/linux/src/soc/phy/
mt/soc/phy/x1.c
mt/soc/phy/x2.c
mt/soc/phy/x3.c
mt/soc/phy/x4.c
mt/soc/phy/x5.c
mt/soc/phy/x6.c
mt/soc/phy/x7.c
아래이 같은 문장을 얻었다.
나는 인터넷에서 stackoverflow를 포함한 많은 기사를 읽었지 만 얻지 못했습니다.
배쉬
에서는 나는이 결과 AWK에서
/home/kernel/sdk/
-
나는 100 % 확실하지 않은 것을 가지고 bash는 내장 표현
${parameter%word} ${parameter%%word} Remove matching suffix pattern.
을 사용하려 이 코드는 내 의도에 잘 맞습니다.
awk -F/ '{ for(i=1;i<=NF;i++) { room[i]=$i }; i=1; while(i<=NF) { if(room[i] == "sdk") { j=i; i=1; while(i<=j) { print $i i++ } } else { j=i; i=1; while(i<=j) { print $i i++ } } } ;getline; }'
결과입니다
home kernel drivers ....
전 미안하지만 그것을 명확하게 understaning 미안하지만 그냥 디렉토리 이름을 참조하십시오 – heaven4us
@ heaven4us 패턴이 뭔지 설명, 당신은 전에 sdk 및 모든 것을 찾고 있습니까? –
@ heaven4us 하나의 예제만으로는 충분하지 않습니다. 예상 출력과 함께 더 많은 줄을 제공하십시오. –