3

私はメイクファイルを書いていましたが、次のようになっているとします。

FILES = file1.py \
    folder1/file2.py \
    folder2/file3.py

そして、次の for ループがあります。

    -@for file in $(FILES); do \
           echo $${file/folder1\/}; \
    done

上記は印刷されます:

file1.py
file2.py
folder2/file3.py

私が望む出力は次のとおりです。

file1.py
file2.py
file3.py

シェル拡張に関するドキュメントをいくつか見ましたが、これに対処する方法をまだ見つけることができませんでした。正しい出力を得るためにコードを変更する方法を教えてください。どんな助けでも大歓迎です。

編集: 構文

4

2 に答える 2

5

@Jensのシェルスタイルの回答はすでに受け入れていますが、メイクスタイルのソリューションを提案します。

-@for file in $(notdir $(FILES)); do \
       echo $${file}; \
done
于 2012-05-08T17:35:20.767 に答える
2

を使ってみてくださいecho $${file##*/}。これにより、最後のスラッシュまで何もないファイル名部分のみが得られます。

于 2012-05-07T21:17:36.980 に答える