を経由して(スペースを含む)の最近の外付けハードドライブ名を取得しよう:私はMacに接続されている最新のハードドライブを取得するには、このコマンドを使用してきた、端末
mount | tail -1 | cut -d' ' -f3
問題はその後、もしドライブがスペースを持っているということですその外付けハードドライブの最初の単語だけを取得します。 1つの単語があるか複数の単語があるかどうかにかかわらず、ドライブの全体名を取得するにはどうすればいいですか?
を経由して(スペースを含む)の最近の外付けハードドライブ名を取得しよう:私はMacに接続されている最新のハードドライブを取得するには、このコマンドを使用してきた、端末
mount | tail -1 | cut -d' ' -f3
問題はその後、もしドライブがスペースを持っているということですその外付けハードドライブの最初の単語だけを取得します。 1つの単語があるか複数の単語があるかどうかにかかわらず、ドライブの全体名を取得するにはどうすればいいですか?
mount
(OSX)の出力は次のとおりです。
<device_path> on <mount_point> (<type>,<options_list>)
だから、別のアプローチは、先行スペースを除いた単語on
前に、すべてのものを抽出するために(またはスペース、単語on
とする他のすべてを削除することです
mount | tail -1 | sed 's/ on .* ([^)]*)$//'
あなたのコマンドに基づいて、デバイス名ではなくマウントポイントに興味があるようです。その場合には、「先頭と末尾の空白を除くon
とtype
間の文字を抽出なる:
([^)]*)
成分はコーナーケースにマッチング問題を回避する(デバイス名またはマウントポイントは、空間、on
、スペースを含む場合) 。
mount | tail -1 | sed -e "s/^[^/]*\(.*\) type .*$/\1/g"
私は 'S'コマンドで$'は '両方以来、役に立たない' '^考える'と* '貪欲です – SLePort
@Kenavoz:。。あなたは、習慣の力正しいとにかく、答えを適応しました。 OSX出力に変換し、式を多少変更してエッジケースをカバーしました。 – isedev