Tối qua trâu bò ngán nhai lại mớ lí thuyết ngôn ngữ học nên chuyển sang “cầy kéo” với đám thư mục, tập tin. Sau một hồi hì hục nắn hàng, tiến tiến lùi lùi đến chóng cả mặt thì cũng được một mảnh đất đủ tơi xốp.
#! /bin/sh function makeCollection { for a in `ls -1 --sort=extension | tr ' ' '^'` do i=$(echo "$a" | tr '^' ' ') if [ -d "$i" ] && [ -x "$i" ] then echo "$i" | sed -r -e "s#^_(.*)#\1 (tổng hợp)#g" \ -e "s#^(.*)#<li><b>\1</b>\n\t<ul>#g" cd "$i" for b in `ls -1 --sort=extension | tr ' ' '^'` do j=$(echo "$b" | tr '^' ' ') if [ -d "$j" ] && [ -x "$j" ] then echo -e "\t\t<li><i>$j</i>\n\t\t\t<ul>" ls -1 "$j" | sed -r "s#^(.*)#\t\t\t\t<li>\1</li>#g" echo -e "\t\t\t</ul>\n\t\t</li>" else echo -e "\t\t<li>$j</li>" fi done echo -e "\t</ul>\n</li>" cd .. else echo "<li>$i</li>" fi done } echo '<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> body { font-family:arial, sans-serif; font-size:11px; color:#444; } i { color:blue; } b { color:navy; } </style> </head> <body> <ul>' > list.html makeCollection >> list.html echo "</ul> </body> </html>" >> list.html sed -r -e "/\.(sh|html|txt|jpg|gif|HTML|TXT|JPG|GIF)</d" \ -e "s#\.(ogg|wav|wma|mp3)</li>#</li>#g" \ -e 's#\&#\&#g' \ -e 's#(<li>[0-9]+) - #\1 \— #g' \ -e 's# - # \– #g' \ -i list.html
Nếu chạy trong thư mục nhạc Việt Nam thì sẽ được một thứ giống như thế này:
- Ánh Tuyết
- Cuộc đời vẫn đẹp sao
- Em vẫn đợi anh về
- Bức Tường
- Tâm hồn của đá
- 01 — Rock xuyên màn đêm
- 02 — Bông hồng thuỷ tinh
- 03 — Tâm hồn của đá
- 04 — Ngày hôm qua
- 05 — Chim hót trời xanh
- 06 — Giọt đắng
- 07 — Cơn mưa hoang dã
- 08 — Người đàn bà hoá đá
- 10 — Đường đến ngày vinh quang
- Vô hình
- 01 — Bài ca sông Hồng
- 02 — Cây bàng
- 03 — Cô gái mù
- 05 — Con số 0
- 06 — Đêm
- 07 — Khám phá
- 08 — Mắt đen
- 09 — Vô hình
- Nam châm
- Vòng tay bạn bè
- Tâm hồn của đá
Đợi khi nào thu thập được một mớ tương đối thì sẽ chọn ngày đẹp trời để khoe phần còn lại 😛 .