"ls"コマンドからフォルダプレフィックスを削除できますか?

私はbashスクリプトを使用しており、すべてのファイルのリストを取得したい(すべてのjarファイルを想定しています)。コマンドを実行しls -1 lib/*.jarて出力を取得します。

lib/mylib_1.jar
lib/mylib_2.jar
...

次の出力を生成するオプションはありますか?

mylib_1.jar
mylib_2.jar
...

cd libループ内にあり、ループ内で実行したい操作を実行するには親フォルダにある必要があるため、以前の作成はオプションではありません。

情報を見つけるために入力しようとしましたが、man ls解決策が見つかりませんでした。

ls他のコマンドを使用するソリューションは、私のコマンドにパイプすることも自給自足できるものであれば大丈夫です。

ベストアンサー1

変えるlsを解析するを使用する必要がありますfind。その後、basename各ファイルに対して次の操作を実行して先行ディレクトリを削除することもできます。

find lib/ -name '*.jar' -exec basename {} \;

おすすめ記事