システムに追加されたばかりのドライブの名前を取得するために、ドライブを追加する前後にcat / proc/partitionsによって作成された2つのファイルの違いを確認しています。パーティション番号の数字のサフィックスが付いていないドライブの名前を探しています。
cat /proc/partitions > /mnt/HD_a2/tempFiles/file1
... add some additional drives to the system
cat /proc/partitions > /mnt/HD_a2/tempFiles/file2
diff /mnt/HD_a2/tempFiles/file1 /mnt/HD_a2/tempFiles/file2
diffコマンドを実行すると、次のように返されます。
16a17,18
> 8 32 7816704 sdc
> 8 33 7816688 sdc1
接頭辞'>'が付いている行の5番目の列から値を取得するためにawkが追加された場合
diff /mnt/HD_a2/tempFiles/file1 /mnt/HD_a2/tempFiles/file2 | awk '">" { print $5 }'
戻り値は次のとおりです。
-- blank line is returned here--
sdc
sdc1
'sdc'のみを返す試みで、grepコマンドが追加されました。
diff /mnt/HD_a2/tempFiles/file1 /mnt/HD_a2/tempFiles/file2 | awk '">" { print $5 }' | grep ^[A-Za-z]+$
しかし、コマンドラインを実行すると、出力がまったく得られません。
grepコマンドがに置き換えられた場合
grep ^[A-Za-z]*$
戻り値はsdc1を除外しますが、sdcの前に空白行を返します
誰かが私の構文のエラーを説明したり、最近追加された新しいドライブの名前を取得するためのより良い方法を提供したりできます。