2

ファイル名を bash コード経由で eog にパイプしようとしています。

これが私のコードです: ls | grep "sample" | head -1sample は必要なファイルの名前です。

出力を eog にパイプする方法がわかりません。

上記のコードの出力を変数に格納しようとしましたが、その変数を eog に渡すことに失敗しました。

助言がありますか?

4

3 に答える 3

3

からの出力の解析がls時々うまくいかないことがあると言うことができます(たとえば、ファイル名のスペースまたは改行)ので、次を試すことができます:

 find . -iname '*sample*' -exec eog '{}' \; -quit

または現在のディレクトリに制限

 find . -maxdepth 1 -iname '*sample*' -exec eog '{}' \; -quit

上記は、「サンプル」(大文字と小文字を区別しない-大文字と小文字を区別するために使用)を含むファイルを見つけて-name実行eogし、最初の一致後に終了するため、最初のファイルのみを開きます。

于 2013-05-18T18:42:46.870 に答える
3

Is this what you're looking for?

ls | grep "sample" | head -1 | xargs eog
于 2013-05-18T18:36:06.667 に答える