Как перечислить все существующие оптические драйверы?

Следующий конвейер печатает каждую отличную строку во входе, которому предшествует его повторный счет, отсортированный путем уменьшения повторного счета:

sort | uniq -c | sort -rn

Таким образом:

find . -type f -name '?*.*' | sed 's/.*\.//' | sort | uniq -c | sort -rn
2
25.02.2013, 06:32
1 ответ

Если Вам нравится Perl, то этот пример кода, найденный в CPAN, мог добиться цели. Это также имеет низкие зависимости. Библиотекой, в которой Вы нуждаетесь, является Устройство-Cdio.

use strict;

BEGIN {
    chdir 'example' if -d 'example';
    use lib '../lib';
    eval "use blib";  # if we fail keep going - maybe we have installed Cdio
}

use Device::Cdio;
use Device::Cdio::Device;
use Device::Cdio::Track;
use vars qw($0 $program $pause %opts);

sub print_drive_class($$$) {
    my ($msg, $bitmask, $any) = @_;
    my @cd_drives = Device::Cdio::get_devices_with_cap($bitmask, $any);
    print "$msg...\n";
    foreach my $drive (@cd_drives) {
    print "Drive $drive\n";
    }
    print "-----\n";
}
my @cd_drives = Device::Cdio::get_devices($perlcdio::DRIVER_DEVICE);
foreach my $drive (@cd_drives) {
    print "Drive $drive\n";
}
print "-----\n";
print_drive_class("All CD-ROM drives (again)", $perlcdio::FS_MATCH_ALL, 0);
1
27.01.2020, 22:23
  • 1
    dmesg | awk '/CD-ROM/ && /Attached/{print "/dev/"$NF}' –  Rahul Patil 25.02.2013, 11:22
  • 2
    @RahulPatil - который, как предполагают, работал? Поскольку это не делает в моей системе. –  drcelus 25.02.2013, 12:22

Теги

Похожие вопросы