ファイル名を bash コード経由で eog にパイプしようとしています。
これが私のコードです: ls | grep "sample" | head -1
sample は必要なファイルの名前です。
出力を eog にパイプする方法がわかりません。
上記のコードの出力を変数に格納しようとしましたが、その変数を eog に渡すことに失敗しました。
助言がありますか?
ファイル名を bash コード経由で eog にパイプしようとしています。
これが私のコードです: ls | grep "sample" | head -1
sample は必要なファイルの名前です。
出力を eog にパイプする方法がわかりません。
上記のコードの出力を変数に格納しようとしましたが、その変数を eog に渡すことに失敗しました。
助言がありますか?
からの出力の解析がls
時々うまくいかないことがあると言うことができます(たとえば、ファイル名のスペースまたは改行)ので、次を試すことができます:
find . -iname '*sample*' -exec eog '{}' \; -quit
または現在のディレクトリに制限
find . -maxdepth 1 -iname '*sample*' -exec eog '{}' \; -quit
上記は、「サンプル」(大文字と小文字を区別しない-大文字と小文字を区別するために使用)を含むファイルを見つけて-name
実行eog
し、最初の一致後に終了するため、最初のファイルのみを開きます。
Is this what you're looking for?
ls | grep "sample" | head -1 | xargs eog