hashedassets

Phần mềm chụp màn hình:
hashedassets
Các chi tiết về phần mềm:
Phiên bản: 0.3.1.1
Ngày tải lên: 12 May 15
Nhà phát triển: Filip Noetzel
Giấy phép: Miễn phí
Phổ biến: 50

Rating: 2.5/5 (Total Votes: 2)

hashedassets là một công cụ dòng lệnh mà các bản sao tập tin vào tên tập tin dựa trên nội dung của họ & nbsp;. Nó cũng viết một bản đồ của những gì đã được đổi tên thành gì, vì vậy bạn có thể tìm thấy các tập tin của bạn.
Mục đích chính của việc này là bạn có thể thêm một tương lai xa Hết hạn tiêu đề để các thành phần của bạn. Sử dụng băm dựa trên tên tập tin là tốt hơn rất nhiều so với sử dụng phiên bản số $ VCS của bạn, bởi vì người dùng chỉ cần tải về các tập tin mà không thay đổi.
Tạo một số tập tin nguồn
Đầu tiên, chúng ta tạo ra một tập tin được băm:
>>> Hệ thống ("mkdir đầu vào /")
>>> Hệ thống ("mkdir đầu vào / subdir /")
>>> Hệ thống ("bản đồ mkdir /")
>>> Với open ("input / foo.txt", "w") như file:
... File.write ("foo")
>>> Với open ("input / subdir / bar.txt", "w") như file:
... File.write ("bar")
>>> Hệ thống ('chạm -t200504072213.12 đầu vào / foo.txt')
sử dụng đơn giản
>>> Hệ thống ("bản đồ hashedassets / đầu vào map.txt / txt đầu vào *. / * Đầu ra txt / *. /")
mkdir 'đầu ra'
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> In open ("bản đồ / map.txt"). Đọc ()
subdir / bar.txt: Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
foo.txt: C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt

>>> Hệ thống ("đầu ra ls /")
C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
>>> Hệ thống ("bản đồ ls /")
map.txt
Mức độ khai thác gỗ
Nếu chúng tôi nói với các lệnh để được yên tĩnh, nó không in những gì nó đang làm:
>>> Hệ thống ("hashedassets -q bản đồ / map2.txt đầu vào / đầu vào txt *. / * / Đầu ra txt *. /")
Nếu chúng tôi nói với các lệnh được tiết hơn, nó có thể ghi thêm thông tin:
>>> Hệ thống ("hashedassets -vvv bản đồ / map3.txt đầu vào / đầu vào txt *. / * / Đầu ra txt *. /")
Mức độ gỡ lỗi thiết lập 10
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
Thời gian chỉnh sửa cũng được bảo tồn:
>>> Old_stat = os.stat ("input / foo.txt")
>>> New_stat = os.stat ("đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt")
>>> [(Getattr (old_stat, prop) == getattr (new_stat, prop))
... Cho chống đỡ trong ('st_mtime', 'st_atime', 'st_ino',)]
[True, True, False]
Chúng ta có thể dễ dàng làm điều này với nhiều định dạng:
JavaScript
>>> Hệ thống ("hashedassets -n bản đồ my_callback / map.js đầu vào / *. Txt đầu vào / * / * đầu ra txt. /")
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print open ("bản đồ / map.js"). Đọc ()
var my_callback = {
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdir / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
};
JSON
>>> Hệ thống ("hashedassets -n bản đồ my_callback / map.json đầu vào / đầu vào txt *. / * Đầu ra txt / *. /")
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> In open ("bản đồ / map.json"). Đọc ()
{
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdir / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
}
JSONP
>>> Hệ thống ("hashedassets -n bản đồ my_callback / map.jsonp đầu vào / đầu vào txt *. / * Đầu ra txt / *. /")
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> In open ("bản đồ / map.jsonp"). Đọc ()
my_callback ({
& Nbsp; "foo.txt": "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
& Nbsp; "subdir / bar.txt": "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"
});
Sass
Sass là một ngôn ngữ meta trên đầu trang của CSS.
>>> Hệ thống ("hashedassets -n bản đồ my_callback / map.scss đầu vào / *. Txt đầu vào / * / * đầu ra txt. /")
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> In open ("bản đồ / map.scss"). Đọc ()
mixin my_callback ($ chỉ thị, $ path) {
& Nbsp;if $ path == "subdir / bar.txt" {#} {$ chỉ: url ("Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt"); }
& Nbsp;else nếu $ path == "foo.txt" {#} {$ chỉ: url ("C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt"); }
& Nbsp;else {
& Nbsp;warn "Không tìm thấy" # {$ path} "trong danh mục tài sản";
& Nbsp; # $ {} chỉ: url ($ path);
& Nbsp;}
}
PHP
>>> Hệ thống ("hashedassets -n bản đồ my_callback / map.php đầu vào / đầu vào txt *. / * Đầu ra txt / *. /")
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> In open ("bản đồ / map.php"). Đọc ()
$ My_callback = array (
& Nbsp; "subdir / bar.txt" => "Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt",
& Nbsp; "foo.txt" => "C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt",
)
Sed
Chúng tôi cũng có thể tạo ra một kịch bản sed mà không được thay thế đối với chúng tôi:
>>> Hệ thống ("hashedassets -n bản đồ my_callback / input map.sed / txt đầu vào *. / * / Đầu ra txt *. /")
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Print open ("bản đồ / map.sed"). Đọc ()
s / subdir / thanh .txt / Ys23Ag_5IOWqZCw9QGaVDdHwH00 .txt / g
s / foo .txt / C-7Hteo_D9vJXQ3UfzxbwnXaijM .txt / g

Chúng tôi cũng sẽ có thể sử dụng này trực tiếp với sed
>>> Với open ("replaceme.html", "w") như file:
... File.write (' thanh ')
Các kịch bản sau đó được áp dụng như thế này:
>>> Hệ thống ("bản đồ -f sed / map.sed replaceme.html")
thanh
Tuy nhiên, '.' không được coi là ký tự đại diện, vì vậy sau đây không làm việc
>>> Với open ("replaceme2.html", "w") như file:
... File.write (' thanh ')
>>> Hệ thống ("bản đồ -f sed / map.sed replaceme2.html")
thanh
Xác định các loại với -t
Các loại bản đồ được đoán từ tên tập tin, nhưng bạn có thể chỉ định nó là tốt:
>>> Hệ thống ("hashedassets -t js cantguessmaptype đầu vào / *. Txt đầu vào / * / *. Txt đầu ra /")
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
Xác định độ dài của tên tập tin với -l
>>> Hệ thống ("hashedassets -l 10 bản đồ / shortmap.json đầu vào / đầu vào txt *. / * Đầu ra txt / *. /")
'input / foo.txt' cp 'đầu ra / C-7Hteo_D9.txt'
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IO.txt'
>>> Hệ thống ("đầu ra rm / C-7Hteo_D9.txt đầu ra / Ys23Ag_5IO.txt")
Quy định cụ thể tiêu hóa với -d
>>> Hệ thống ("hashedassets -d bản đồ md5 / shortmap.json đầu vào / *. Txt đầu vào / * / *. Txt đầu ra /")
'input / foo.txt' cp 'đầu ra / rL0Y20zC-Fzt72VPzMSk2A.txt'
cp 'input / subdir / bar.txt' 'đầu ra / N7UdGUp1E-RbVvZSTy1R8g.txt'
>>> Hệ thống ("đầu ra rm / rL0Y20zC-Fzt72VPzMSk2A.txt đầu ra / N7UdGUp1E-RbVvZSTy1R8g.txt")
Tái sử dụng bản đồ
Chương trình đọc trong các bản đồ nó tạo ra trong một chạy trước chỉ sao chép các tập tin mà không thay đổi kể từ đó. Vì vậy, các lệnh sau đây không sao chép bất kỳ tập tin:
>>> Hệ thống ("bản đồ hashedassets / map.scss đầu vào / *. Txt đầu vào / * / * đầu ra txt. /")
>>> Hệ thống ("bản đồ hashedassets / map.php đầu vào / đầu vào txt *. / * / * Đầu ra txt. /")
>>> Hệ thống ("bản đồ hashedassets / map.js đầu vào / *. Txt đầu vào / * / * đầu ra txt. /")
>>> Hệ thống ("bản đồ hashedassets / map.json đầu vào / đầu vào txt *. / * / * Đầu ra txt. /")
>>> Hệ thống ("bản đồ hashedassets / input map.sed / txt đầu vào *. / * Đầu ra txt / *. /")
>>> Hệ thống ("bản đồ hashedassets / map.jsonp đầu vào / đầu vào txt *. / * / * Đầu ra txt. /")
>>> Hệ thống ("bản đồ hashedassets / đầu vào map.txt / txt đầu vào *. / * Đầu ra txt / *. /")
Nếu chúng ta chạm vào một trong các tập tin đầu vào ở giữa, các tập tin sẽ được đọc, nhưng không được sao chép vì hashsum là như nhau:
>>> Hệ thống ('chạm -t200504072214.12 đầu vào / foo.txt')
>>> Hệ thống ("bản đồ hashedassets / map.json đầu vào / đầu vào txt *. / * / * Đầu ra txt. /")
Nếu chúng ta thay đổi nội dung của tập tin, nó sẽ có được một cái tên mới:
>>> Với open ("input / foo.txt", "w") như file:
... File.write ("foofoo")
>>> Hệ thống ("bản đồ hashedassets / map.json đầu vào / đầu vào txt *. / * / * Đầu ra txt. /")
rm 'đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt'
'input / foo.txt' cp 'đầu ra / QIDaFD7KLKQh0l5O6b8exdew3b0.txt'
Nếu sau đó bạn danh sách các tập tin trong thư mục, lưu ý rằng các tập tin cũ '' đầu ra / C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt '' là đi:
>>> Hệ thống ("đầu ra ls /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Nếu chúng ta loại bỏ một trong các tập tin được tạo ra, nó được tái tạo:
>>> Hệ thống ("đầu ra rm / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt")
>>> Hệ thống ("bản đồ hashedassets / map.json đầu vào / đầu vào txt *. / * / * Đầu ra txt. /")
cp 'input / subdir / bar.txt' 'đầu ra / Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt'
>>> Hệ thống ("đầu ra ls /")
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
Nếu một tập tin đó là về để được xóa bởi vì các nội dung ban đầu thay đổi, nó sẽ không được tạo:
>>> Hệ thống ("đầu ra rm / QIDaFD7KLKQh0l5O6b8exdew3b0.txt")
>>> Với open ("input / foo.txt", "w") như file:
... File.write ("foofoofoo")
>>> Hệ thống ("bản đồ hashedassets / map.json đầu vào / đầu vào txt *. / * / * Đầu ra txt. /")
'input / foo.txt' cp 'đầu ra / NdbmnXyjdY2paFzlDw9aJzCKH9w.txt'
Lỗi xử lý
Tuy nhiên, nếu chúng ta chạy này không có tham số, nó không thành công:
>>> Hệ thống ("hashedassets", bên ngoài = True)
Cách sử dụng: hashedassets [tùy chọn] mapfile SOURCE [...] DEST

hashedassets: lỗi: Bạn cần phải xác định ít nhất mapfile SOURCE và DEST

Yêu cầu :

  • Python

Phần mềm tương tự

eXtplorer
eXtplorer

15 Feb 15

Nautilus
Nautilus

16 Aug 18

ISO Master
ISO Master

17 Feb 15

Ý kiến ​​để hashedassets

Bình luận không
Nhập bình luận
Bật hình ảnh!