たぶん簡単な質問かもしれませんが、見つけることができず、検索もほとんど不可能です。フォルダ階層には xyz タイプのファイルが 1 つしかありません。ファイルを見つけてターミナルコマンドを使って開きたいです。
find . -name *.xyz
これにより、私が探しているファイルが返されます。では、名前を入力せずに自動的に開くことができますか?
find . -name *xyz | open
これはうまくいきません。 openコマンドが見つかりませんでした。
答え1
@retracile そうなんですね。それを開くには「何か」が必要です。しかし、私はxargsの代わりにexecを使用することを好みます。
find . -name '*.xyz' -exec cat {} \;
これにより背面が返されますcat fileFound.xyz; cat fileFound2.xyx;
。ただし、ファイルを1つだけ見つけようとします。
状況に応じてに変更すると返さ\;
れ、後者がより優先される可能性があります。+
cat fileFound.xyz fileFound2.xyz
これについての詳細はご案内いたします。この問題
答え2
ファイルを開くには、どのプログラムを使用する必要があるかを知る必要があります。画像なら gwenview などを使用できます。
xargs を使用して入力を受け取り、引数に変換します。そしてそのワイルドカードをエスケープする必要があります...
find . -name \*xyz | xargs gwenview
ファイル名のスペースを処理します...
find . -name \*xyz | xargs -d"\n" gwenview
答え3
あなたが探しているコマンドは次のとおりですxdg-open
次のコマンドを試してください。
xdg-open "$(find . -name '*xyz' | head -n1)"
答え4
find
単一のvimインスタンスで別々のタブにあるすべてのファイルを開くには、次の手順を実行します。
find . -name \*xyz | xargs vim -p