누구든지 다음 문제에 대한 스크립트 작성 방법을 제안할 수 있습니까? [폐쇄]

누구든지 다음 문제에 대한 스크립트 작성 방법을 제안할 수 있습니까? [폐쇄]

누구든지 스크립트에서 이 단계를 사용하는 방법을 제안할 수 있습니까? (첫 번째 명령의 출력을 가져와야 하고 세 명령 모두에 대해 두 번째 명령을 사용해야 합니다.)

[aaa@build]$ find . -name src
./Port/bit/WE-IN/src
./MI/M-Scripts/Msg/src
./MI/M-Scripts/TT/src
[aaa@build]$ cd ./Port/bit/WE-IN/src

답변1

찾고 있는 명령은 xargs일반적으로 다음과 같이 사용합니다.

find . -name src -print0 | xargs -I{} -0 echo {}

또는 명시적인 질문의 경우:

find . -name src -print0 | xargs -I{} -0 cd {}

답변2

당신이 할 수 있는 일은 쉘 함수를 선언하고 각 디렉토리에 대한 함수를 호출하는 while 루프에 find의 각 결과를 전달하는 것입니다.

#!/bin/bash
function f 
{

  echo "THIS IS " $(pwd)
  ls
}

find . -maxdepth 1 -type d -name "bin" -printf "%P\n" | while read DIRNAME;
do

  cd $DIRNAME
  f
done

실행 예시는 다음과 같습니다.

$ ./findAndFunction.sh                                                                               
THIS IS  /home/xieerqi/bin
autostart-script.sh  c  java  perl  python  README.md  sergrep  shell

관련 정보