0

編集:これが機能する解決策を見つけました。ファイル パスが全体として読み取られるようにするには、ファイル パスを引用符で囲むことが明らかに重要です。

path_to_open=$(gfind ~/x/y/ | gshuf | ghead -n 1) && open "${path_to_open}"

osx の端末で使用するコマンドを作成しました。ディレクトリ内のファイルとフォルダーのパスのリストを取得してシャッフルし、シャッフル後の txt の最初の行にあるパスを取得します。

これは私がこれまでに得たものです:[1]

gfind ~/x/y/ | gshuf | ghead -n 1

このgfind ~/x/y/ | gshuf | ghead -n 1 > ~/Desktop/z.txt形式でファイルパスを取得すると/Users/me/x/y/some folder/some file.txt、このファイルまたはフォルダーのパスを.txtに書き込む代わりに、ファインダーでダブルクリックしたかのように開きたい. どうやってやるの?man ページの説明に基づいて open コマンド [2] が正しいと思いましたが、正確な使用方法がわかりません。どのように使用すればよいですか?または、間違ったコマンドである場合、どのコマンドを使用すればよいですか?

[1]

macports 経由で gnu coreutils を使用しているため、使い慣れたコマンド名の前に ag が付きます

[2]

open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b <bundle identifier>] [-a <application>] [filenames] [--args arguments] Help: Open opens files from a shell. By default, opens each file using the default application for that file.
If the file is in the form of a URL, the file will be opened as a URL. Options: -a Opens with the specified application. -b Opens with the specified application bundle identifier. -e Opens with TextEdit. -t Opens with default text editor. -f Reads input from standard input and opens with TextEdit. -F --fresh Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents. -R, --reveal Selects in the Finder instead of opening. -W, --wait-apps Blocks until the used applications are closed (even if they were already running). --args All remaining arguments are passed in argv to the application's main() function instead of opened. -n, --new Open a new instance of the application even if one is already running. -j, --hide Launches the app hidden. -g, --background Does not bring the application to the foreground. -h, --header Searches header file locations for headers matching the given filenames, and opens them.

4

2 に答える 2

0

Finder で開いた結果にフォルダーが返されるようにするには、次のようにします。

open -a Finder `gfind ~/x/y/ | gshuf | ghead -n 1`
于 2013-06-14T23:56:14.033 に答える
0

これは私のために働く:

path_to_open=$(gfind ~/x/y/ | gshuf | ghead -n 1) && open "${path_to_open}"

于 2013-06-15T22:41:58.800 に答える