誰もが次の問題のスクリプトを書く方法を提案できますか? [閉鎖]

誰もが次の問題のスクリプトを書く方法を提案できますか? [閉鎖]

誰もがスクリプトでこの手順を使用する方法を提案できますか? (最初のコマンドの出力を取得し、3つのコマンドすべてに2番目のコマンドを使用する必要があります。)

[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

関連情報