Đọc tiêu đề từ DVD?


8

Tôi đã nhận thấy rằng mỗi hình ảnh DVD có một tên viết hoa bán độc đáo. Có cách nào để tôi đơn giản đọc tên này với tư cách là người dùng không root trong Linux không? Tôi đang sử dụng một dẫn xuất Ubuntu 12.04 chạy kernel 3.7. Tôi chỉ muốn lấy tên của bất kỳ đĩa nào trong ổ đĩa như vậy:

DVD_NAME="$( ./read-dvd-name.sh )"

1
Đó là thực tế xấu khi sử dụng tất cả các tên biến chữ hoa cho các biến phi môi trường.
jordanm

5
Cảm ơn, nhưng điều này không trả lời câu hỏi của tôi :) Thực hành xấu là gây tranh cãi.
Naftuli Kay

2
Đó là lý do tại sao nó là một bình luận và không phải là một câu trả lời.
jordanm

Câu trả lời:


11

Bạn có thể sử dụng blkidcho điều đó:

DVD_NAME=$(blkid -o value -s LABEL /dev/dvd)

(bạn cần phải có quyền đọc /dev/dvdcho điều đó).

Hoặc là:

DVD_NAME=$(udevadm info -n dvd -q property | sed -n 's/^ID_FS_LABEL=//p')

mà bạn không cần bất kỳ đặc quyền đặc biệt nào ( udev(chạy bằng root) truy vấn tên nhãn bằng cách sử dụng blkidvà cập nhật cơ sở dữ liệu thiết bị mà bạn truy vấn udevadm).


Tôi có cần phải root để làm điều đó?
Naftuli Kay

1

Tôi không chắc liệu điều này sẽ giúp bạn:

isoinfo  -i C462_19-08-26_09-56.iso -d | sed -n 's/^Volume id: //p'
isoinfo  -i C462_19-08-26_09-56.iso -d | awk '/Volume id: / {print $3}'

Giải pháp ban đầu vụng về của tôi:

dvdtitle=$(isoinfo  -i isofile.iso -d | grep "Volume id:" | awk '{print $3}')

2
(1) Tiêu đề câu hỏi là thế nào Đọc tiêu đề từ đĩa DVD? và câu cuối cùng trong câu hỏi nói rằng, tôi muốn chỉ đơn giản là lấy tên của bất kỳ ổ đĩa nào trong ổ đĩa, vì vậy bạn có thể nên bắt đầu bằng cách gợi ý , sau đó thêm vào, như một phần tái bút, thực tế là lệnh có thể được sử dụng để kiểm tra ảnh ISO trong tệp bằng cách chỉ định . Tiết (Cont'd)isoinfo -i /dev/cdrom -d   ……   -i iso_image_filename 
G-Man nói 'Tái lập lại' '

2
(Tiếp theo) Quang (2) awklà một công cụ xử lý văn bản mạnh mẽ; bạn hầu như không cần sử dụng nó cùng với một công cụ xử lý văn bản khác như grep. Đường ống của bạn grep "Volume id:" | awk '{print $3}', có thể được đơn giản hóa awk '/Volume id: / {print $3}'. (3) ID âm lượng có thể là nhiều từ và print $3phương pháp này chỉ hiển thị từ đầu tiên. Có nhiều cách xử lý trong việc này awk, nhưng một cách tiếp cận dễ dàng hơn là ống đầu ra từ isoinfovào sed -n 's/Volume id: //p'. (4) Khi kiểm tra vệ sinh, sẽ tốt hơn nếu tìm kiếm /^Volume id: /.
G-Man nói 'Phục hồi Monica'

G-Man thân mến, cảm ơn bạn vì những gợi ý quý giá. :-) Trân trọng X.
xerostomus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.