$ mèo tmp / example.awk
{
một [$ 1] ++
} KẾT THÚC {
cho (tôi trong một) {
dir = i; gsub ("", "\\", thư mục);
printf "echo% s:% d; cd% s; ls -1 * htm; cd -> / dev / null; echo \ n", \
i, một [i], dir, dir
}
}
Đầu ra mẫu:
find . -iname "*.htm" -printf "%h\t%f\n" |sort |\
awk -F'\t' -f tmp/example.awk |sh
(...)
./fpsu/applikasjon/kjerne/lib: 1
xom-1.0b5.htm
./tmp/refcp/refcp/home/jaroslav/reference/programing/input- Processing: 1
Viết hoa + cá nhân + tên.htm
./Tải xuống tập tin / index: 3
allgroupes-frame.htm
tổng quan-frame.htm
tổng quan-tóm tắt.
./tmp/refcp/refcp/home/jaroslav/reference/code/html-css/common-web-fonts_files: 6
hostbadge_002.htm
hostbadge_003.htm
hostbadge.htm
thích_002.htm
thích_003.htm
thích.htm
(...)
Bước đầu tiên là in mọi thư mục và tên tệp với một phần mở rộng nhất định. Điều đó được thực hiện với các đối số% h% t để tìm printf.
Bước tiếp theo là đếm mọi mục trong một thư mục đã cho bằng [$ 1] ++ trong chương trình awk. Đó là, đối với mỗi dòng được in, chúng tôi tăng một mục nhập mảng với chỉ mục bằng với tên của thư mục được tìm thấy có chứa các tệp có hậu tố đã cho.
Khi tất cả các mục đã được tính, chúng tôi lặp lại một lệnh shell đơn giản để in kết quả và liệt kê các tệp trong mỗi thư mục mà chúng tôi tìm thấy.
Kết quả là một danh sách các lệnh shell mà chúng ta đưa vào sh
.