bash はファイル名を入力として使用します。

bash はファイル名を入力として使用します。

私が得たい結果

hg resolve -l

その形式は

R somefile/filename
U somefile/filename
R somefile/filename
U somefile/filename

「U」で始まる最初の行をパラメータとして使用できるため、次のことができます。

open -t <first U file>

そして

hg resolve -m <first U file>

誰かが私にこれを行うための最良の方法についてのアドバイスを与えることができれば良いでしょう。

編集:以下の答えの解決策は簡単なスクリプトです。

#!/bin/bash

# Script that gets the first file from hg resolve | grep U and passes to default text editor

first_u_file=$(hg resolve -l | grep -m1 '^U')
first_u_file=${first_u_file#U }
echo opening \'$first_u_file\'
open -t "$first_u_file"

ベストアンサー1

GNU grepを使用して、次のことを試すことができます(テストされていません):

first_u_file=$(hg resolve -l | grep -m1 '^U')
first_u_file=${first_u_file#U }

-mXX行後に印刷を停止するよう指示しますgrep(この場合は1).この$(...)構造は、出力を文字列に変換するバックティックに似ています。 2行目はファイル名の先頭の「U」を削除します。

おすすめ記事