そのコマンドを使用してファイルブラウザ(Nemo)を開きたいです。find
結果は次のとおりです。
それだけです。
find . -name "foo*" -exec nemo {} +
各結果に対して新しいウィンドウが開きます。だから、結果が多すぎるときに多くのウィンドウを開くのを防ぐために、このコマンドを使用してtail -<number>
ウィンドウ数を制限したいと思います。
これはうまくいきません:
find . -name "foo*" -exec tail -1 {} \; -exec nemo {} +
これで、すべてのウィンドウが開いています。
-exec
2番目のパラメータを最初のパラメータとして使用する方法はありますか-exec
?それとも私が何かを間違って理解したのでしょうか?
ユースケース: xfce メニュー > 検索コマンド、検索文字列を引数として使用:
find /my/home/dir -name "*%s*" -exec tail -<x> {} \; -exec nemo {} +
。 (誤って)文字列「a」を検索すると、何百もの結果が出ることがあります。
答え1
存在する
find . -name "foo*" -exec tail -1 {} \; -exec nemo {} +
tail
ファイル名のリストではなく、見つかった各ファイルの内容を実行しています。
少なくともGNU Coreutilsを使用すると、次のことができます。
find . -name "foo*" -print0 | tail -zn 1 | xargs -0 nemo