以下を使用して、リアルタイムで接続されたドライブのUUIDを取得するスクリプトを作成しています。
udiskctl monitor
以下はいくつかの標準出力ラインです。
HintPartitionable: true
HintSymbolicIconName:
HintSystem: false
Id: by-uuid-EXTERNALLABEL
IdLabel:
IdType: vfat
IdUUID: EXTERNALLABEL
IdUsage: filesystem
IdVersion: FAT32
だから古い文字列を取得したいと思います。idUUID:
予想出力:
EXTERNALLABEL
誰でもどんなアイデアがありますか?提案してください。
ベストアンサー1
これは一般的な質問であり、これを行う方法にはすでに答えがありますが、awk
次の方法を使用できます。
udiskctl monitor | awk '{if (match($0,"^[[:space:]]*IdUUID:[[:space:]]*([[:print:]]+)",a)) print a[1]}'
または@Archemarの提案によると、短いです。
udiskctl monitor | awk '/^[[:space:]]*IdUUID:/ {print $2}'
またはより強力になるには、@ Ed Mortonの提案に従ってください。
udiskctl monitor | awk '$1=="IdUUID:"{print $2}'
またはもちろん、あまりにも古いですsed
:
udiskctl monitor | sed -e 's/^[[:space:]]*IdUUID:[[:space:]]*//;t;d'