md5sum chỉ tập tin mới?


3

Tôi có một thư mục chứa các tệp và một tệp md5sum.txt. Tôi thêm một tập tin tập tin mới vào thư mục. Tôi muốn thêm tổng md5sum cho tất cả các tệp không có trong md5sum.txt.

Có một cách đơn giản để làm điều đó?


1
Bạn đang tìm kiếm loại kịch bản nào? Bạn đang sử dụng hệ điều hành nào?
innaM

về cơ bản bạn phải đọc tập lệnh trong md5sum.txt và danh sách thư mục của bạn và loại bỏ từ đó. Tôi có thể chọn perl cho nhiệm vụ.
quack quixote

Tôi đang sử dụng Linux.
user13798

Câu trả lời:


2

Bạn có thể thử con số nhỏ này:

#We want the seperator to be newlines, not spaces
IFS="$(echo -e "\n\r")"
for EACHFILE in `ls -1`
do
    # If grep can't find the filename in that text file
    if ! egrep -q  " $EACHFILE$" md5sum.txt; then
    md5sum $EACHFILE
    fi
done

Điều này giả định rằng tệp văn bản là như thế này:

964e6b94e921b5f0879b41956b787050 test.file

Đó là đầu ra tiêu chuẩn


Trong OSX tôi đã phải thay đổi dòng thứ hai thành:IFS=$'\n'
Josep Valls
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.